2017-04-14 86 views
-2
Def main(): 
name = raw_input("What is your name?: ") 
age = int(raw_input("How old are you?: ")) 
number = int(raw_input("What is your favorite number?: ")) 
print name , 'will be 100 years old in the year of', (100 - age + 2017) 
main() 

,这让我回答没有(,逗号和?你如何摆脱(,逗号,'那是打印在Python 2.7

但是,当我加号。*:

print number * (name , 'will be 100 years old in the year of', (100 - age + 2017)) 

然后它给了我回答有(,逗号,“我真的不明白为什么它这样做。

而且,如果我想这个问题的答案将在不同的线路,例如,

的Python 的Python 的Python

如何使用\ n分隔成这样?

+0

所以,你这样做:'打印的名字,“将东西”,other' – ForceBru

+0

我想打印多达用户的发言输入你最喜欢的数字。因此,如果我打印数字*名称,'将在'年(100 - 年龄+ 2017)100岁,那么我有相同的问题(逗号和'。我真的不明白为什么它在做它 – Andy

回答

0

您正在生成result作为元组,并且print将显示使用圆括号和逗号来表示它是元组。您需要将它直接传递到print声明(这可能需要很多参数):

print name , 'will be 100 years old in the year of', (100 - age + 2017) 

在Python 3,你也可以解压缩:

result = name , 'will be 100 years old in the year of', (100 - age + 2017) 
print (*result) 

更妙(不管Python版本)是使用format string syntax

print '{0} will be 100 years old in the year of {1}'.format(name, 100 - age + 2017) 
+1

解包似乎不起作用,因为它是一个Python 3的功能,它在2.7中产生一个'SyntaxError'。 – ForceBru

+0

@ForceBru:'SyntaxError'来自试图使用Python 2的'print'语句作为函数。一个'from __future__ import print_function',这个解包解决方案在Python 2中工作。 –

+0

我想打印出与用户输入相同数量的语句,因此如果我打印数字*名称,'将会是100年',(100 - 年龄+ 2017),然后我得到相同的问题,因为(,逗号和'。我真的不明白为什么它会这样做 – Andy