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 に答える