我编写了这段代码,我在“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'是一本坏书吗?
答案 0 :(得分:3)
这是Python 2 vs 3陷阱。 print
是2中的关键字,现在它是3中的函数。显然,代码是为2编写的,但您使用的是3。
只需添加括号并像处理任何其他功能一样处理print
。
答案 1 :(得分:1)
对于Python 3.0和after()是`print。
更改为print ("Blastoff!")
您不会有任何错误
答案 2 :(得分:0)
您正在阅读的书是为python版本2编写的,其中if和while语句不需要括号。但是,您似乎使用的是python版本3,它要求您在if和while语句中添加paranthesis。您可以通过在正确的位置添加paranthesis来解决此问题,或者下载python版本2(2.7是最常见的版本),这样您就可以使用代码而无需修改它。