我正在运行一个简单的python文件:
from livewires import games
games.init(screen_width = 640, screen_height = 480, fps = 50)
games.screen.mainloop()
当我在IDLE中运行时,我会在标题中打印出错误。 我从一本书中复制并粘贴了这段代码。我现在处于初学者的早期阶段,所以我不太了解。我很确定我已正确安装了livewires,因为我已经使用其模块运行其他程序。 (天啊,我知道这可能不是正确的术语,抱歉。)我并不是在寻找解决这个问题的方法,(虽然那也很好)我只是希望有人可以解释一下究竟是什么问题。我从书中复制了代码,所以我不明白我做错了什么。我100%肯定也没有错别字。
答案 0 :(得分:3)
好吧,四处搜索,似乎这是livewires网站:Livewires Home Page,可以下载他们的livewires包。
另外,一些代码来自:Chapter 11看起来像他在这里发布的内容(“The Pizza Panic Game”)。
下载和解压缩livewires表明游戏模块中确实没有init
功能(正如已经提到的评论)。
这本书都有非工作的例子(令人怀疑,考虑到它解释这个例子的深度);或 livewires包在书写和现在之间发生了变化(更有可能)。
livewires网站上有其他例子,我认为你会有更多的成功 我建议你抛弃这本书,因为你可能会继续遇到像这样的障碍。谷歌搜索将发布许多其他免费的python教程,这些教程更新,并且更容易理解。
此页面为初学者提供了一些链接:Beginners Guide
答案 1 :(得分:2)
可以从书籍配套网站下载使用“绝对初学者的Python编程”代码的旧版livewires:
http://www.delmarlearning.com/companions/content/1435455002/downloads/index.asp?isbn=1435455002
答案 2 :(得分:1)
我刚开始使用同一本书,Python Programming Third Ed。由迈克尔道森,并遇到了同样的问题。自书写完以来,它已经发生了变化。
如果您仍想创建窗口,请使用我使用的代码并运行:
from livewires import games
#This is the code M. Dawson has in the book
#games.init(screen_width = 640, screen_height = 480, fps = 50)
#games.screen.mainloop()
my_screen = games.Screen(width = 640, height = 480)
my_screen.mainloop(fps = 50)
现在将屏幕视为要实例化的对象。 Screen类不再在其构造函数中接受 fps ,现在将 fps 传递给 mainloop 方法。如果未将 fps 传递给 mainloop 方法,则默认为50。
答案 3 :(得分:0)
我遇到了同样的问题,然后我从他链接到的slejdops网站下载了代码。听起来像它的创造者是开放的想法,因为他们总是保持这些东西与教科书锁定。这使它既合法又合法。 :)
所以去这里。玩得开心,祝你好运: http://www.delmarlearning.com/companions/content/1435455002/downloads/index.asp?isbn=1435455002