首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Karel Robot在Python中的教学

Karel Robot在Python中的教学
EN

Stack Overflow用户
提问于 2021-10-01 09:16:18
回答 1查看 59关注 0票数 1

祝你早上愉快,

和一位讲师一起,我正在为大学教授Python的机器人Karl的世界做准备,这不仅仅是记忆肯定是熟悉的。

这个世界已经准备好了,应用程序使用TKInter库。对于更有经验的thrown专家,我有一个问题,当我尝试在命令行中运行它时,我看到两个空的TKInter窗口,并显示消息“异常抛出!给定的机器人世界已经被移除”。同样地,在空闲时也是如此。

由于该项目也可以使用图像,所以我在这里使用存储库服务uschovna.cz - Karel Robot保存它。

我承认我对TKInter还不是很友好,但它已经被选中用于教学,所以我可能只需要向robotwindow.py类添加一两个方法,一切都会正常工作。

以下是错误消息列表:

代码语言:javascript
复制
Starting with command line:

>>> from robot import *

===== Module robot.color ===== START
===== Module robot.color ===== STOP
===== Module robot.dir4 ===== START
===== Module robot.dir4 ===== STOP
===== Module robot.robotworld ===== START
===== Module robot.robotworld ===== STOP
===== Module robot.robotwindow ===== START
=== ROBOTS_ICON_DI­RECTORY = '/home/wanbli/ro­bot/IMGR/'
===== Module robot.robotwindow ===== STOP

>>> rwd = new_empty_world(3, 3)

>>> rww = create_window_for(rwd)

I see two empty TK windows and message "Exception thrown! The given robot has already been removed.".

---

Starting with IDLE:

>>> from robot import *

##### Package with classes implementing the world of the robot Karel.

===== Module robot.color ===== START

===== Module robot.color ===== STOP

===== Module robot.dir4 ===== START

===== Module robot.dir4 ===== STOP

===== Module robot.robotworld ===== START

===== Module robot.robotworld ===== STOP

===== Module robot.robotwindow ===== START

=== ROBOTS_ICON_DI­RECTORY = '/home/wanbli/ro­bot/IMGR/'

===== Module robot.robotwindow ===== STOP

>>> rwd = new_empty_world(3, 3); rwd

<robot.robotwor­ld.RobotWorld object at 0x00000181D4D86830>

>>> rww = create_window_for(rwd); rww

Traceback (most recent call last):

File "<pyshell#17>", line 1, in <module>

rww = create_window_for(rwd); rww

File "/home/wanbli/ro­bot/robotwindow­.py", line 104, in create_window_for

window = RobotWindow(world)

File "/home/wanbli/ro­bot/robotwindow­.py", line 34, in __init__

for _ in range(world.rows)]

File "/home/wanbli/ro­bot/robotworld­.py", line 202, in rows

self._check_wor­ld_alive()

File "/home/wanbli/ro­bot/robotworld­.py", line 382, in _check_world_alive

raise RWError(msg)

robot.robotwor­ld.RWError:

The robot world in question has already been removed.

你知道怎么解决这个问题吗?

卢德克·萨特尼

EN

回答 1

Stack Overflow用户

发布于 2021-10-04 15:57:33

问题已经解决了,我把我需要的所有东西都移到了initor文件中。对于感兴趣的人,请参阅函数版本的链接:

https://www.uschovna.cz/zasilka/QOXD2UBSWRYE8RP6-GFW/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69403446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档