2012-08-04 143 views
-3

很新的蟒蛇,尝试这一点 -为什么在Python中打印函数的返回值?

def newlines(): 
    print() 
    print() 
    print()  
question = "Which online Course you have signed up, dude?" 
response = "Good Luck to you, dude!" 
print(question), newlines(), input(), newlines(), print(response) 

在Python 3.2 *输出是这

Which online Course you have signed up, dude? 



Nothing 



Good Luck to you, dude! 

(None, None, "Nothing", None) # Where this output is coming from ? 

而且这是不是与蟒蛇3.3测试版

回答

5

您必须在交互式shell中。当我运行你的代码作为一个文件,我得到这样的输出:

$ python3.2 test.py 
Which online Course you have signed up, dude? 



dlkjdf 



Good Luck to you, dude! 
$ 

你只有你在控制台输出:

>>> def newlines(): 
...  print() 
...  print() 
...  print()  
... 
>>> question = "Which online Course you have signed up, dude?" 
>>> response = "Good Luck to you, dude!" 
>>> 
>>> print(question), newlines(), input(), newlines(), print(response) 
Which online Course you have signed up, dude? 



dljdldk 



Good Luck to you, dude! 
(None, None, 'dljdldk', None, None) 
>>> 

这是因为控制台将打印的最后一件事表示你输入了。最后一个语句实际上是一个元组,所以它在最后打印出来。这里有一些例子:

>>> 3 
3 
>>> 4 
4 
>>> 3, 4, None, "hey" 
(3, 4, None, 'hey') 
2

发生的事情当你写这个。 :

print(question), newlines(), input(), newlines(), print(response)

它实际上是一个元组,它包含每个函数的结果。

只需打破个别电话上的呼叫即可解决您的问题。

print(question) 
newlines() 
input() 
newlines() 
print(response) 
+2

+1你应该这样写,不管其他答案中的信息如何。 ','不是Python中的语句分隔符。如果你想按顺序做几件事,那么按顺序做几件事。 – 2012-08-04 20:36:00