我已经开始使用“学习Python困难之路”一书来学习Python 2.7.x.我目前正在学习raw_input
函数,我正在尝试使用不同的方法。我写了以下代码:
name = raw_input("What is your name? ")
print "Hi %s," % name,
home = raw_input("where do you live? ")
print "I hear that %s is a great place to raise a family, %s." % (home, name)
age = raw_input("How old are you, %s? ") % name
我在最后一行收到此错误:
TypeError: not all arguments converted during string formatting
如何以类似的方式使用raw_input
函数并插入变量,以便自定义raw_input
查询中嵌入的问题(如果我弄乱了术语,请道歉)?
理想情况下,我想按照这些方式输出一个问题:
How old are you, Bob?
答案 0 :(得分:4)
尝试:
age = raw_input("How old are you, %s? " % name)
说明:
raw_input([prompt])
If the prompt argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that.
所以,当你这样做时
age = raw_input("How old are you, %s? ") % name
假设您输入了Paul
所以上述陈述变为,
age = "Paul" % name
由于字符串“Paul”不是占位符,因此会抛出相应的错误。