本问题已经有最佳答案,请猛点这里访问。
我写了这段代码,我在"Python for dummies"一书中找到了这段代码。
countdown = 10
while countdown:
print countdown,
countdown -= 1
print"Blastoff!"
它应该打印10 9 8 7 6 5 4 3 2 1 Blastoff!
当我运行该程序时,我收到错误'打印调用中缺少括号'
在youtube上,我找到了一个与此类似的代码,从0到10000000计数。这个工作正常。
def count(x):
while (x <= 10000000):
print (x)
x+=1
count(0)
print ("I hate my job. I quit!")
他们怎么会这么不同? 我需要什么样的基础知识才能理解这一点? 这是不同python版本的问题吗? 'Python for dummies'是一本坏书吗?
本书是为Python 2编写的,您使用的是Python 3。
print"string"是python 2.x,你使用的是python 3.x,它使用print("string")代替。
这是一个Python 2 vs 3陷阱。 print是2中的关键字,现在它是3中的函数。显然,代码是为2编写的,但是你使用的是3。
只需添加括号并像处理任何其他函数一样处理print。
对于Python 3.0和after()是`print?。
更改为print ("Blastoff!")您将不会有任何错误
您正在阅读的书是为python版本2编写的,其中if和while语句不需要括号。
但是,您似乎使用的是python版本3,它要求您在if和while语句中添加paranthesis。
您可以通过在正确位置添加paranthesis来解决此问题,或者下载python版本2(2.7是最常见的版本),这样您就可以使用代码而无需修改它。