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

如何在Python中将变量传递给输入请求?,python,Python,我对Python和编程都是新手。 谁能告诉我如何正确地编写以下代码 name=raw_input("What is your name? ") age=raw_input(" How old are you",name) 或: raw_input函数不能接收超过1个参数。我们可以通过使用字符串格式来解决这个问题(有关不同格式类型的信息,请参阅和) 此外,根据您要执行的操作,您可能还希望将age转换为整数。我们可以这样做: age = int(age) 但是如果用户输入了其他内容,比如'f

我对Python和编程都是新手。
谁能告诉我如何正确地编写以下代码

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

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

此外,根据您要执行的操作,您可能还希望将
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.'

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

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

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

age = int(raw_input(string1))
正如您所看到的,我将要提示的内容存储到一个名为string1的字符串中,然后将其用作原始输入的参数

原始输入只接受一个参数。所以,你可以这样做


为此,我使用了Python2.7。如果您使用的是

raw\u input
已经返回了一个字符串-无需再将其转换为字符串,但这样做是安全的。就像我们没有在字符串周围加单引号一样,有时它确实会出错。
raw\u input
从不出错。。。(至少据我所知)。它只是返回用户输入的字符串。对不起,先生。我把它和input()混淆了。输入给出了一个错误,我自己也看到了这一点。对于字符串,我们需要用单引号将其括起来。
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.'
name = str(raw_input('Enter your name:'))

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

age = int(raw_input(string1))