Skip to main content

Lezione 2: Azioni ripetute

Ora che il Robot VR ha disegnato un quadrato sull' Art Canvas Playground usando la Penna, imparerai a usare i loop e a semplificare il tuo progetto. Questa lezione ti guiderà attraverso i passaggi necessari per disegnare un quadrato sulla tela Art Canvas Playground utilizzando un ciclo per.

Art Canvas Playground con un quadrato nero disegnato sopra. Il robot VR è posizionato al centro del Parco Giochi, nell'angolo in basso a sinistra della piazza.

Risultati di apprendimento

  • Scopri come utilizzare un ciclo per per ripetere i comandi al suo interno per un numero di volte stabilito.
  • Identificare che il ciclo per include una variabile 'valore' e una funzione intervallo per identificare il numero di ripetizioni. 
  • Identificare che la funzione intervallo di un ciclo per identifica quante volte il ciclo deve ripetersi.
  • Identificare che la funzione intervallo di un ciclo per può accettare numeri interi come parametri.
  • Descrivere il motivo per cui un ciclo for verrebbe utilizzato in un progetto.
  • Descrivi il flusso di un progetto che contiene un ciclo per.

Rinomina il progetto

  • Se il progetto della lezione precedente non è già stato caricato, caricare il progetto Unit3Lesson1.
  • Rinominare il progetto selezionando la casella del nome del progetto.
    Barra degli strumenti VR con la casella del nome del progetto evidenziata. Il nome nella casella è Unità 3 Lezione 1.
  • Inserisci il nuovo nome del progettoUnit3Lesson2 e seleziona "Salva".
    Barra degli strumenti VR con la finestra di dialogo del nome del progetto aperta. Il progetto è stato rinominato in Unità 3 Lezione 2 e il pulsante Salva è evidenziato con un riquadro rosso.

Azioni ripetute

Il ciclo per viene utilizzato per ripetere i comandi al suo interno un numero di volte stabilito. Il ciclo per consente di risparmiare tempo e fatica durante la creazione di progetti in cui i comandi si ripetono. Invece di perdere tempo a trascinare o digitare comandi aggiuntivi o duplicare comandi esistenti nell'area di lavoro, è possibile utilizzare il ciclo per per risparmiare spazio e tempo.

Questo progetto utilizzerà un ciclo per per guidare il robot VR affinché disegni i quattro lati di un quadrato ripetendo i comandi per disegnare un lato quattro volte.

  • Inizia modificando il progetto precedente, copiando il progetto sottostante o creando un nuovo progetto che corrisponda a questo progetto di base. 
def main():
	pen.move (DOWN)
	drivetrain.drive_for (FORWARD, 600, MM)
	drivetrain.turn_for (RIGHT, 90, DEGREES)
	drivetrain.drive_for (FORWARD, 600, MM)
	drivetrain.turn_for (RIGHT, 90, DEGREES)
	drivetrain.drive_for (FORWARD, 600, MM)
	drivetrain.turn_for (RIGHT, 90, DEGREES)
	drivetrain.drive_for (FORWARD, 600, MM)
	drivetrain.turn_for (RIGHT, 90, DEGREES)

 

  • I comandi ripetuti in questo progetto sono i comandi drive_for e turn_for . Rimuovi i sei comandi in basso nel progetto, in modo che rimangano solo un comando drive_for e un comando turn_for sotto il comando move e il progetto apparirà così: 

    def main():
        pen.move(DOWN)
        drivetrain.drive_for(FORWARD, 600, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)
  • Trascina un ciclo per fino alla fine della funzione principale , in modo che il tuo progetto abbia questo aspetto. Si noti che il ciclo per popolerà automaticamente un comando wait al suo interno. Non rimuovere il comando wait , questo garantirà il corretto comportamento del robot VR.

    def main():
        pen.move(DOWN)
        drivetrain.drive_for(FORWARD, 600, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)
    
        for repeat_count in range(10):
            wait(5, MSEC)
  • Affinché il ciclo per ripeta i comandi Drivetrain per disegnare un lato del quadrato, tali comandi devono essere all'interno del ciclo per , il che è indicato dalla rientranza. Aggiungere due righe tra il ciclo for e il comando wait per fare spazio ai comandi Drivetrain. Lo stesso progetto di cui sopra, con due righe di spazio aggiunte tra il comando for e il comando wait.
  • Successivamente, per spostare i comandi Drivetrain all'interno del loop per , copia e incolla i comandi sotto l'intestazione del loop per , evidenzia i comandi e trascina i comandi drive_for e turn_for tra l'intestazione del loop e il comando wait , oppure copiali e incollali dal progetto sottostante.
def main():
	pen.move(DOWN)
	
	per valore in range(10):
		drivetrain.drive_for(FORWARD, 600, MM)
		drivetrain.turn_for(RIGHT, 90, DEGREES)
		wait(5, MSEC)
  • Assicurarsi che i comandi all'interno del ciclo per siano correttamente rientrati, utilizzando la linea grigia a sinistra come guida che indica quali comandi sono all'interno del ciclo per

Per tua informazione

L'indentazione è molto importante in Python. L'indentazione dei comandi determina la modalità di esecuzione di un progetto. Nel caso di un ciclo per , i comandi indentati al suo interno verranno eseguiti come parte del ciclo. È possibile utilizzare le linee a sinistra dei comandi, come guide visive per il modo in cui i comandi vengono raggruppati all'interno di un ciclo. 

Il progetto dall'alto, con il testo Linea "guida" e freccia che punta alla linea grigio chiaro che indica la corretta indentazione dei comandi all'interno di un ciclo for. Una parentesi rossa attorno agli ultimi tre comandi mostra che sono uniformemente rientrati e allineati all'interno del ciclo for.

Gli errori nel rientro possono influire sul flusso del progetto e renderlo non eseguito come previsto. Una mancanza di rientro, o rientro irregolare, come mostrato qui, dovrebbe essere evitata per far funzionare il codice come previsto.

Due esempi comuni di indentazione errata in un ciclo for affiancato, con grandi x rosse su di esse per sottolineare che sono errate. Il progetto a sinistra è il progetto di questa lezione, ma non vi è alcuna rientranza all'interno del ciclo for. Il progetto a destra è il progetto di questa lezione, ma con i tre comandi in basso tutti rientrati in gradi diversi.

VEXcode VR potrebbe richiedere di risolvere gli errori di rientro prima di poter eseguire il progetto. Questi errori possono essere identificati nella Console di stampa, in modo da poter facilmente risolvere il problema ed eseguire il progetto.Il progetto di questa lezione è mostrato a sinistra. La console di stampa in VEXcode VR è mostrata a destra, con un messaggio di errore rosso che si riferisce a un rientro imprevisto mostrato a destra. Una grande freccia rossa si estende dal messaggio di errore alla riga nel progetto che contiene l'errore.

 

 

  • Ora che i comandi Drivetrain per disegnare un lato del quadrato sono all'interno del ciclo, è possibile impostare il parametro della funzione intervallo . Per disegnare un quadrato, è necessario disegnare quattro lati. Per ripetere i comandi quattro , impostare il parametro della funzione range nell'intestazione del ciclo per su "4" in modo che un robot VR disegni tutti e quattro i lati di un quadrato.
    Il progetto da questa lezione, con il parametro della funzione range nel ciclo for cambiato da 10 a 4.

Per tua informazione

La funzione range nell'intestazione del ciclo per può accettare numeri interi. I numeri decimali (o float) non funzioneranno come parametri per un ciclo per . Il parametro predefinito per la funzione intervallo  è '10'. 

Per il comando loop con il numero intero 10 nel parametro.
  • Selezionare il pulsante "Apri Playground" per aprire Art Canvas Playground se non è già aperto e avviare il progetto.
    Barra degli strumenti VEXcode VR con il pulsante Apri parco giochi in alto a destra evidenziato da un riquadro rosso.
  • Guarda il robot VR avanzare e girare a destra quattro volte sulla tela Art Canvas Playground per disegnare un quadrato con la penna.

    Art Canvas Playground con un quadrato nero disegnato sopra. Il robot VR è posizionato al centro del Parco Giochi, nell'angolo in basso a sinistra della piazza.

Selezionare il pulsante Avanti per continuare con il resto della lezione.