2

我正在运行一个简单的python文件:

from livewires import games

games.init(screen_width = 640, screen_height = 480, fps = 50)

games.screen.mainloop()

当我在 IDLE 中运行它时,我得到标题中打印的错误。我从书中复制并粘贴了这段代码。我处于初学者的早期阶段,所以我不太了解。我相当确定我已经正确安装了 livewires,因为我已经使用它的模块运行了其他程序。(天哪,我知道这可能根本不是正确的术语,抱歉。)我并不是在寻找解决这个问题的方法,(尽管那也很好)我只是希望有人能解释究竟是什么问题。我从书中复制了代码,所以我不明白我做错了什么。我也 100% 肯定没有错别字。

4

4 回答 4

3

好吧,四处搜索,似乎这是 livewires 网站:Livewires Home Page可以下载他们的 livewires 包。

此外,来自此的一些代码:第 11 章看起来像他在这里发布的内容(“披萨恐慌游戏”)。

下载并解压 livewires 表明init游戏模块中确实没有任何功能(正如评论已经提到的那样)。

要么这本书有无效的例子(值得怀疑,因为它解释了这个例子的深度);或者livewires 包在本书写作和现在之间发生了变化(更有可能)。

livewires 网站上有其他示例,我认为您将获得更大的成功。
我建议你放弃这本书,因为你很可能会继续遇到这样的障碍。谷歌搜索会出现许多其他免费的 Python 教程,这些教程更新得更及时,也更容易理解。

此页面有一些针对初学者的链接:初学者指南

于 2011-08-12T04:23:35.817 回答
2

可以从本书的配套网站下载与“绝对初学者的 Python 编程”中的代码一起使用的旧版 livewires:

http://www.delmarlearning.com/companions/content/1435455002/downloads/index.asp?isbn=1435455002

于 2012-06-05T11:25:01.263 回答
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。

于 2012-02-12T02:59:28.330 回答
0

我遇到了同样的问题,然后我从他链接到的 slejdops 网站下载了代码。听起来它的创建者对像这样获得它的想法持开放态度,因为他们总是用教科书锁定这些东西。这使得它既可以又合法。:)

所以去这里吧。玩得开心,祝你好运: http ://www.delmarlearning.com/companions/content/1435455002/downloads/index.asp?isbn=1435455002

于 2013-05-25T04:19:47.560 回答