如何写多个不同的数据类型

How to write multiple different data types

我正在 python 为我的 class 做一个 "create a password" 项目。我刚刚学习了通用转换说明符,他们希望我在我的程序中使用它。

到目前为止,我卡在 "second password" 上,请参阅下面的代码:

# 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 我的问题是我不知道如何在没有 space 的情况下并排使用 % 转换。 请帮忙!

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

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

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

  1. 使用 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}')

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

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() 总是 returns 一个字符串。


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

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