4

在 python 的 raw_input 中使用 %r 是否可行?

对于上下文,我正在研究 Zed Shaw 的练习 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

提前致谢!

4

1 回答 1

7

你的行应该是

raw_input("Hello %r, what is your age? " % firstname)

代替

raw_input("Hello %r, what is your age? ") % firstname

否则,您不会格式化您的"Hello %r, ..."字符串,而是调用raw_input.

于 2012-08-07T11:47:34.500 回答