为什么我的打印功能打印()和""随着声明?

时间:2016-03-31 23:56:03

标签: python python-2.7 function printing

这是我的绝对初学者Python编程挑战的代码

    food = input("What is your favorite entree? ")

    dessert = input("What is your favorite dessert? ")

    print("\nI am going to assume that your favorite meal is" , food +   dessert)

而不是打印

I am going to assume that your favorite meal is

正在打印

('\nI am going to assume that your favorite meal is', 'steakcookies')

我需要更改什么?

2 个答案:

答案 0 :(得分:5)

您将其视为Python 3的print()函数。在Python 2中执行此操作时,它会打印您提供的对象,即tuple。在Python 3中,这些括号将描述函数调用,每个包含的对象都是传递给函数的参数。

如果您希望它以您期望的方式运行,请导入代码顶部的print()功能:

from __future__ import print_function

从那个程序开始,print将引用函数,而不是语句。

答案 1 :(得分:2)

你需要取出括号:

print "\nI am going to assume that your favorite meal is" , food +   dessert

在Python2中,print是一个语句,而不是一个函数。当您包括括号时,print将参数视为元组的一部分。您还应该使用raw_input(),而不是input()。或者,将from __future__ import print_function放在文件的开头。