NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Robot Karel v jazyce Python

Aktivity
Avatar
Luděk Šťastný:29.9.2021 20:00

Krásný večer přeji,

společně s lektorem připravuji pro výuku jazyka Python na VŠ svět robota Karla, který nejen pamětníci jistě znají.

Svět je již připraven, aplikace využívá knihovnu TKInter. Měl bych dotaz na zkušenější Pythonisty, při pokusu o spuštění v příkazovém řádku vidím dvě prázdná TKInter okna s hlášením "Vyhozena výjimka! Daný svět robotů byl již odstraněn." a podobně tomu je i v IDLE.

Vzhledem k tomu, že projekt je k dispozici i s obrázky, uložil jsem jej pomocí služby úschovna .

Přiznám se, že se zatím s TKInterem moc nekamarádím, byl však pro výuku vybrán, je možné, že stačí doplnit jednu či dvě metody do třídy robotwindow.py a vše pojede tak jak má.

Nemáte nápad jak problém vyřešit?

Luděk Šťastný

Zkusil jsem: Zde zasílám výpis chybových hlášení:

Spuštění pomocí příkazové řádky:

>>> from robot import *

##### Balíček s třídami realizujícími svět robota Karla.

===== Modul robot.color ===== START

===== Modul robot.color ===== STOP

===== Modul robot.dir4 ===== START

===== Modul robot.dir4 ===== STOP

===== Modul robot.robotworld ===== START

===== Modul robot.robotworld ===== STOP

===== Modul robot.robotwindow ===== START

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

===== Modul robot.robotwindow ===== STOP

>>> rwd = new_empty_world(3, 3)

>>> rww = create_window_for(rwd)

=== a tady to zůstane viset.


Spuštění pomocí IDLE:

>>> from robot import *

##### Balíček s třídami realizujícími svět robota Karla.

===== Modul robot.color ===== START

===== Modul robot.color ===== STOP

===== Modul robot.dir4 ===== START

===== Modul robot.dir4 ===== STOP

===== Modul robot.robotworld ===== START

===== Modul robot.robotworld ===== STOP

===== Modul robot.robotwindow ===== START

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

===== Modul 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:

Daný svět robotů byl již odstraněn.

Chci docílit: Robot Karel je dle mého pohledu vhodný pro výuku programování nejen v jazyce Python, rád bych, aby byl k dispozici studentům.

 
Odpovědět
29.9.2021 20:00
Avatar
Odpovídá na Luděk Šťastný
Luděk Šťastný:4.10.2021 17:53

Tak problém je již vyřešen, stačilo vše potřebné přesunout do initoru. Pro případné zájemce ještě zasílám odkaz na aktuální verzi:

https://www.uschovna.cz/…RYE8RP6-GFW/

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
4.10.2021 17:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.