本问题已经有最佳答案,请猛点这里访问。

我写了这段代码,我在"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是最常见的版本),这样您就可以使用代码而无需修改它。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信