我正试图通过练习11艰难学习Python并遇到一些问题。下面是我使用geedit键入.py文件(在PC上处理)
print "How old are you?",
age = raw_input('27')
print "How tall are you?",
height = raw_input('5\'8"')
print "How much do you weigh?",
weight = raw_input('180lbs')
print "So, you're %r old, %r tall and %r heavy." %(age, height, weight)
我无法让%r显示原始输入,并且它们倾向于在最后一行显示我做错了什么?
答案 0 :(得分:6)
raw_input
's argument用作提示的文本。
你可以这样做:
age = raw_input("How old are you? ")
height = raw_input("How tall are you? ")
weight = raw_input("How much do you weigh? ")
print "So, you're %r old, %r tall and %r heavy." % (age, height, weight)
如果您想提供默认值,那么您可以执行以下操作:
age = raw_input("How old are you? ")
height = raw_input("How tall are you? ")
weight = raw_input("How much do you weigh? ")
age = age if age is not '' else '27'
height = height if height is not '' else '5\'8"'
weight = weight if weight is not '' else '180lbs'
print "So, you're %r old, %r tall and %r heavy." % (age, height, weight)
答案 1 :(得分:3)
我认为你可能会误解raw_input
的行为。 raw_input('27')
表示“打印27,然后等待用户输入”。 27不是默认值,只是一个提示。如果您点击输入而未键入任何内容,则age
的值将为''
,而不是'27'
。
答案 2 :(得分:1)
这就是我认为你想要的样子?
1 print "How old are you?",
2
3 age = raw_input()
4
5 print "How tall are you?",
6
7 height = raw_input()
8
9 print "How much do you weigh?",
10
11 weight = raw_input()
12
13 print "So, you're %d old, %s tall and %d heavy." %(age, height, weight)
答案 3 :(得分:0)
在本练习中,您无意在代码中的括号中键入年龄,身高等。相反,如Zed在他的例子中所做的那样,将括号留空:
age = raw_input()
然后,当您在终端中运行程序时,您会在询问时输入您的年龄。与其他变量相同。因此,最后,当提示您回答问题时,程序会打印您在终端中输入的值。
答案 4 :(得分:0)
使用zed shaw的代码示例,他明确地说:"无论如何键入此代码并使其完全相同"。当您使用raw_input()时,您要求用户输入他们的信息,因此您还没有添加信息。执行程序时,输入"确切地说"如他所知,它将提示用户输入一个值,并且任何被估算的值都将打印到控制台。
答案 5 :(得分:0)
print "How old are you?",
age = raw_input()
print "How tall are you?",
height = raw_input()
print "How much do you weigh?",
weight = raw_input()
print "So, you're %r old, %r tall and %r heavy." %(age, height, weight)
运行此代码时,raw_input接受输入。而不是直接提供输入,而是作为问答原型 喜欢, ->你几岁? -> 27
->所以你今年27岁!
关于python 2和3的更多信息有所不同 如作者所述,使用Python 2在这种情况下可能会为您提供所需的输出。 希望对您有所帮助:) !!!!
答案 6 :(得分:0)
您正在输入数据,例如当练习要求您将其输入终端时,将“ 27”输入文本编辑器。
就像练习中一样,完全在文本编辑器中输入文本,使括号保持空白,如下所示:
print "How old are you?",
age = raw_input()
当您在终端中运行它时,它会显示“您几岁?” 然后在终端中输入“ 27”并按Enter 然后会问你“你有多高”,输入5'8”,然后按Enter键
您正在与终端进行对话,询问您问题并回答。