如何在Python中将变量传递给输入请求?

时间:2013-02-21 09:14:19

标签: python

我是Python的新手,也是编程新手 谁能告诉我如何正确编码以下内容?

name=raw_input("What is your name?  ")
age=raw_input(" How old are you",name) 

2 个答案:

答案 0 :(得分:2)

name = raw_input('What is your name? ')
age = raw_input('How old are you, %s? ' % name)

或者:

name = raw_input('What is your name? ')
age = raw_input('How old are you, {}? '.format(name))

raw_input函数不能接收多于1个参数。我们可以通过使用字符串格式来解决此问题(有关不同类型格式的信息,请参阅herehere)。

此外,根据您要执行的操作,您可能还希望将age转换为整数。我们可以这样做:

age = int(age)

但是如果用户输入了其他内容,例如'foobar',那么您将收到错误消息。您可以使用try/except块并使用while循环绕过此值,以便循环直到获得有效数字。

name = raw_input('What is your name? ')
while True:
    age = raw_input('How old are you, {}? '.format(name))
    try:
        age = int(age)
        break
    except ValueError:
        print 'You entered an invalid age. Please try again.'

答案 1 :(得分:0)

始终使用类型转换。无论如何,以下代码应该这样做:

name = str(raw_input('Enter your name:'))

string1 = 'Enter your age,' + name + ':'

age = int(raw_input(string1))

正如你所看到的,我将存储的任何内容提示到一个名为string1的字符串中,然后我将其用作raw_input的参数。

raw_input只接受一个参数。所以,你可以这样做。

我已经使用了python 2.7。如果您正在使用