iDe*_*bug 9 python string string-formatting typeerror
这是我的代码
import sys
name = input("Enter your name:")
last_name = input("Enter your last name:")
gender = input("Enter your gender:")
age = input("Enter your age:")
print ("So your name is %s, your last name is %s, you are %s and you are %s years old" % name, last_name, gender, age)
Run Code Online (Sandbox Code Playgroud)
我搜索了这个话题,但我不明白.
iCo*_*dez 18
您需要在括号中放置字符串格式的参数:
print (... % (name, last_name, gender, age))
Run Code Online (Sandbox Code Playgroud)
否则,Python将仅name作为字符串格式的参数,其余作为函数的参数print.
但是请注意,%这些天使用字符串格式化操作是不受欢迎的.现代方法是使用str.format:
print ("So your name is {}, your last name is {}, you are {} and you are {} years old".format(name, last_name, gender, age))
Run Code Online (Sandbox Code Playgroud)
你需要一组括号:
>>> '%s %s' % 'a', 'b' # what you have
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: not enough arguments for format string
>>>
>>>
>>> '%s %s' % ('a', 'b') # correct solution
'a b'
Run Code Online (Sandbox Code Playgroud)
'%s %s' % 'a', 'b'被评估为('%s %s' % 'a'), 'b','%s %s' % 'a'因为参数少于格式说明符,所以会产生错误.
print("So your name is %s, your last name is %s, you are %s and you are %s years old" % (name, last_name, gender, age))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26342 次 |
| 最近记录: |