【发布时间】:2020-01-22 19:23:55
【问题描述】:
谁能告诉我这段代码有什么问题以及要改变什么?
number = 1
text = "hello"
while number <= 10:
print("%d, %s" % number, text)
number = number + 1
错误:
Traceback(最近一次调用最后一次):文件“program.py”,第 5 行,在 print("%d, %s" % number + text) TypeError: not enough arguments for format string
当我这样做时它会起作用:
number = 1
text = "hello"
while number <= 10:
print("%d" % number)
number = number + 1
我想我在某处读到使用“%”符号来合并字符串是旧方法,如果可能的话,我希望代码仍然使用它。
【问题讨论】:
-
% (number, text);注意括号。 -
% (number, text)--- 你必须传递一个元组 -
错误信息和代码不是同一次执行。确保也不要误传。
-
@user2864740 哦,对不起,我想问点别的,我没有正确替换文字,不会再发生了。
-
format和f-strings 现在是生成文本的首选。