在python中使用raw_input中的%r

时间:2012-08-07 11:43:56

标签: python raw-input

在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

提前致谢!

1 个答案:

答案 0 :(得分:7)

你的专栏应该是

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

而不是

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

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