在python中使用raw_input中的%r是否可行?
就上下文而言,我正在研究Zed Shaw的Exercise 12。 (很棒的资源!课程非常有用,节奏很好。)
我正在玩额外的功劳,试图让raw_input重复我输入的内容。我知道我可以用print语句完成同样的事情,但我很好奇我是否可以在raw_input中完成它。
我输入的代码是:
from sys import argv
script, firstname, lastname = argv
age = raw_input("Hello %r, what is your age? ") % firstname
print ("Ahh, Mr. %r, you are %r years old.") % (lastname, age)
我得到的错误是:
Traceback (most recent call last):
File "ex13a.py", line 5, in <module>
age = raw_input("Hello %r, what is your age? ") % firstname
TypeError: not all arguments converted during string formatting
提前致谢!
答案 0 :(得分:7)
你的专栏应该是
raw_input("Hello %r, what is your age? " % firstname)
而不是
raw_input("Hello %r, what is your age? ") % firstname
否则,您不会格式化"Hello %r, ..."
字符串,而是格式化为raw_input
的字符串。