0

我正在用 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 我的问题是我无法弄清楚如何在没有空格的情况下使用 % 转换。请帮忙!

4

2 回答 2

1

您可以通过多种方式进行字符串格式化

  1. 使用 %s
print('str - %s  number - %d' %('some_string', 100))

  1. 使用 .format
print('str - {} number - {}'.format('some_string',100))

  1. 使用 f-string(来自 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}')
于 2020-01-17T21:23:43.443 回答
0

我将使用这些字符串,这样我就不必每次都重新输入输入。

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-strings 是 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

注意变量名称。如果您有任何问题,请告诉我:)

于 2020-01-17T21:58:26.210 回答