Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

[GUIDA] Uso di Turtle su Spyder su Windows

1
1937764 (3520 points)
7 14 42
in Programmare in Python by (3.5k points)
edited by

Durante la lezione di oggi 13/10/2020, si è visto che eseguendo un file che usa Turtle su Spyder su Windows fa bloccare il programma senza risposta.

Esempio di codice che usa Turtle (disegno di un quadrato 100x100):

from turtle import Turtle, done
tartaruga = Turtle()

for i in range(4):
    tartaruga.forward(100)
    tartaruga.right(90)

done()
bye()

Esecuzione con Spyder su Windows:

  • Da Spyder, creiamo un nuovo file (CTRL+N)
  • Scriviamo un codice che usa Turtle, come nell'esempio a inizio post
  • Premendo sul tasto per l'esecuzione (Run file, freccia verde), apparirà la seguente finestra di dialogo:

Bisognerà selezionare l'opzione "Execute in an external system terminal".

Fatto ciò, si può eseguire premendo sul tasto Run.


Problemi comuni

Non si apre la finestra dello screenshot

Premere CTRL+F6

Can't open file: [Errno 2] No such file or directory

Prima di eseguire il file, questo andrà salvato (tasto in alto di salvataggio, oppure CTRL+S)

Il programma si chiude immediatamente dopo aver disegnato

Si può inserire i comandi done() bye() alla fine del file per sospendere l'esecuzione del programma per 5 secondi (è presente nel modulo turtle).

In alternativa, si può eseguire il file in Debug (tasto freccia blu, oppure CTRL+F5), scrivendo nel prompt il comando continue per iniziare l'esecuzione.

2.4k views

11 Answers

giordano_sannino (13650 points)
7 16 81
by (13.7k points)
Utilissimo grazie
Rametto (4910 points)
3 4 25
by (4.9k points)
thank you, ora mi funziona il programma
dolcetto_gommoso (2790 points)
4 6 18
by (2.8k points)
Grazie ora va alla perfezione
raponi.federico (11280 points)
3 4 21
by (11.3k points)

Nel mio caso per evitare l'arresto del programma è bastato importare la funzione done() dalla libreria turtle e inserirla subito dopo da chiamata della funzione.(Windows)

from turtle import Turtle, done

tartaruga = Turtle()

for i in range(4):
    tartaruga.forward(100)
    tartaruga.left(90)
    
done()

1
1937764 (3520 points)
7 14 42
by (3.5k points)
Post aggiornato, grazie!
raponi.federico (11280 points)
3 4 21
by (11.3k points)
Perfetto, di niente.
L
Lorenzo Spataro (2710 points)
0 0 12
by (2.7k points)
Aggiungo a quanto detto da federico che su Spyder è molto probabile che, alla seconda esecuzione di un programma che utilizzi la libreria turtle, la finestra "di disegno" non risponda e così via per le esecuzioni successive.
Per risolvere questo problema (legato al kernel di ipython) è necessario chiamare il metodo bye() dopo done(), esso permette di "pulire" quello che era stato eseguito precedentemente e aprire correttamente la finestra.
1
1937764 (3520 points)
7 14 42
by (3.5k points)
Aggiornato, grazie!
Loriv3 (7970 points)
13 21 84
by (8.0k points)
Se a qualcuno non comparisse la finestra può tranquillamente premere ctrl+F6 in modo da aprirla
e
eleonora.cafaro (1130 points)
2 4 9
by (1.1k points)
Grazie, perchè come fa lui si apre direttamente la pagina buggata, come se scrivessi ovviamente nella console . Almeno a me, grazie mille
1
1937764 (3520 points)
7 14 42
by (3.5k points)
Post aggiornato, grazie!
lcrainic (3320 points)
2 4 25
by (3.3k points)
Grazie ora su Windows funziona perfettamente, volevo provare più tardi su MacOS e vedere se ho gli stessi problemi che avevo con Windows.
1
1934865 (700 points)
0 2 4
by (700 points)
It workes fine for me now, however after editing little things (like range or the angle it changes direction in)  pyhon turtle graphic crashes and i have to re open it, i am guessing it is normal
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Grazie! (io uso Linux, una mano su M$ Windo$ fa sempre comodo)
Fabioerpini (7970 points)
6 10 27
by (8.0k points)
Grazie mille
1
1937842 (3900 points)
4 8 11
by (3.9k points)
Molto utile grazie