Как читать несколько типов данных - PullRequest
0 голосов
/ 18 января 2020

Я делаю проект "создать пароль" для моего класса в python. Я только что узнал общие спецификаторы преобразования, и они хотели бы, чтобы я использовал это в моей программе.

Пока я застрял на "втором пароле", см. Код ниже:

# FIXME (1): Finish reading another word and an integer into variables. 
# Output all the values on a single line
favoriteColor = input('Enter favorite color: \n')
petName = input('Enter pet\'s name: \n')
passNumber = input('Enter a number: \n') 
print(favoriteColor, petName, passNumber)
# FIXME (2): Output two password options
password1 = favoriteColor
print('First password: %s_%s' % (favoriteColor,petName))
print('Second password: **%d','%s','%d'** % (passNumber, petName, passNumber))

Мне нужно создать второй пароль, например: 6yellow6 Моя проблема в том, что я не могу понять, как использовать% преобразования рядом друг с другом без пробела. Помогите пожалуйста!

Ответы [ 2 ]

1 голос
/ 18 января 2020

вы можете выполнять форматирование строки разными способами

  1. , используя% s
print('str - %s  number - %d' %('some_string', 100))

с использованием .format
print('str - {} number - {}'.format('some_string',100))

с использованием f-строки (из python 3,6)
print(f'str - {some_string} number - {100}')

так что для вашего ответа

print('Second password: **%d%s%d**' % (passNumber, petName, passNumber))

или лучше

print(f'second password: {passNumber}{petName}{passNumber}')
0 голосов
/ 18 января 2020

Я буду использовать эти строки, чтобы мне не приходилось каждый раз повторять ввод.

favorite_color = 'Red'
pet_name = 'Gabriella'
pass_number = '11'

1. % -форматирование

Я не уверен, для чего были ** в вашем коде.

pass_opt_1 = '%s%s' % (favorite_color, pet_name)
pass_opt_2 = '%s%s%s' % (pass_number, pet_name, pass_number)

Обратите внимание, что я использую %s для pass_number. Это потому, что input() всегда возвращает строку.


2. F-строки

F-строки - новейший метод форматирования строки в Python.

pass_opt_1 = f"{favorite_color}{pet_name}"
pass_opt_2 = f"{pass_number}{pet_name}{pass_number}"

3. Объединение строк

Поскольку пароли просты для создания, мы можем просто объединить различные строки, используя +.

pass_opt_1 = favorite_color + pet_name
pass_opt_2 = pass_number + pet_name + pass_number

Обратите внимание на имена переменных. Дайте мне знать, если у вас есть какие-либо вопросы:)

...