Skip to main content

Lezione 2: Flusso di un progetto con un ciclo For

Quando un progetto utilizza un ciclo per , segue comunque la stessa logica durante l'esecuzione dei comandi. Ad esempio, questi due campioni di codice faranno muovere il robot VR nello stesso modo. Tuttavia, il progetto con il ciclo per , ripete i due comandi Drivetrain quattro volte per raggiungere questo obiettivo.

Due frammenti di codice da guidare in un quadrato mostrato fianco a fianco per illustrare la differenza tra l'utilizzo del ciclo for e non. Quello a sinistra non ha un ciclo for e ha l'azionamento e la rotazione per i comandi ripetuti quattro volte ciascuno. Quello a destra ha un ciclo for e frecce rosse in uno schema circolare con le parole 4 volte al loro interno, indicando che il ciclo for fa sì che l'azionamento e la rotazione per i comandi si ripetano quattro volte.

Un ciclo per viene utilizzato per ripetere una serie di comandi per un numero specificato di . Il ciclo per ripete (anche detto itera) la sequenza di comandi al suo interno. In un ciclo Python for , la variabile 'value' viene utilizzata per tracciare l'iterazione corrente e la parola chiave 'in' utilizza la funzione range per specificare il numero di iterazioni. Ripartizione della sintassi di un ciclo for mostrato con testo sopra ogni parola nel comando per identificarne la funzione. La prima parola, per, ha il testo che "identifica il loop" sopra di esso. La seconda parola, valore, ha il testo: "Identifica la variabile (quante volte è stata iterata nel ciclo?). La terza parola, in, ha il testo "Connette la variabile all'elenco (intervallo). L'ultima parola è intervallo con il parametro 10 tra parentesi. Il testo sopra si legge, "Identifica la lista (Quante volte sarà iterare attraverso il ciclo?).

La funzione range identifica quante volte il ciclo deve essere iterato (o ripetuto). Per ripetere i comportamenti per il numero di volte desiderato, impostare il parametro della funzione intervallo .

La funzione range crea essenzialmente un elenco temporaneo che specifica cosa deve iterare il ciclo per essere completato. Nel caso di comportamenti ripetuti, come disegnare i quattro lati di un quadrato, la funzione intervallo utilizza un elenco temporaneo di (0, 1, 2, 3) per consentire al robot VR di eseguire quei comandi quattro volte. Il movimento del Robot VR cambierà a seconda del parametro della funzione range, come mostrato qui. 

Progetto VEXcode che illustra la funzione range. Legge def parentesi aperta principale due punti della parentesi chiusa riga successiva che è rientrata legge il punto della penna sposta la parentesi aperta verso il basso parentesi chiusa riga successiva per il valore nell'intervallo parentesi aperta 0 due punti della parentesi chiusa riga successiva che è rientrata legge la sottolineatura del punto di trasmissione per la parentesi aperta in avanti, 600, MM parentesi chiusa punto di trasmissione virgola sottolineatura per la parentesi aperta a destra, 90, grado parentesi chiusa riga successiva attesa parentesi aperta cinque virgola M S E C). Art Canvas Playground con il robot al centro. Comandi driveetrain eseguiti 0 volte.
Lo stesso progetto di cui sopra, ma con 1 nel parametro della funzione intervallo. Art Canvas Playground con progetto per disegnare un lato di un quadrato completo. Comandi driveetrain eseguiti 1 volta.
Lo stesso progetto di cui sopra, ma con 2 nel parametro della funzione intervallo. Art Canvas Playground che mostra che il robot ha disegnato i primi due lati della piazza. Comandi driveetrain eseguiti 2 volte.
Lo stesso progetto di cui sopra, ma con 3 nel parametro della funzione intervallo. Art Canvas Playground che mostra che il robot ha disegnato tre lati della piazza. Comandi driveetrain eseguiti 3 volte.
Lo stesso progetto di cui sopra, ma con 4 nel parametro della funzione intervallo. Art Canvas Playground che mostra che il robot ha disegnato tutti e quattro i lati della piazza. Comandi driveetrain eseguiti 4 volte, completando tutti e 4 i lati della piazza.

 

Lo stesso progetto di cui sopra, ma con 5 nel parametro della funzione range.

Art Canvas Playground che mostra che il robot ha disegnato tutti e quattro i lati della piazza, e poi ha tracciato di nuovo il primo lato. I comandi Drivetrain sono stati eseguiti 5 volte, completando il quadrato, quindi tracciando di nuovo il primo lato.

Si noti che la forma disegnata del quadrato non è cambiata quando la funzione intervallo è cambiata da quattro a cinque; ma la posizione finale del robot VR sì. Pertanto, utilizzando un ciclo per con la funzione predefinita  di dieci, si otterrebbe la stessa forma quadrata, ma il robot VR continuerebbe a ripetere i comportamenti per altre sei volte. 

Il robot VR eseguirà i comandi dall'intestazione del ciclo per  all'ultimo comando rientrato. L'intestazione del ciclo for  indica che il robot VR deve ripetere le azioni all'interno del ciclo  il numero specificato di volte prima di passare al comando successivo al di fuori del ciclo for. Le righe rientrate indicano quali comandi si trovano all'interno del ciclo per e devono essere ripetuti.

Per tua informazione

In VEXcode VR, un comando wait viene sempre aggiunto con il ciclo per . Lo scopo del comando wait è garantire che VEXcode VR possa eseguire correttamente il progetto come previsto, grazie alla natura basata sul Web della piattaforma VEXcode VR. Il comando wait non dovrebbe mai essere eliminato quando si utilizza un ciclo per , altrimenti il progetto potrebbe non funzionare come previsto.

Per loop con un comando wait.

Il numero specificato di volte in cui il ciclo per viene impostato per l'esecuzione consente al progetto di proseguire con il ciclo per una volta completate le iterazioni necessarie. Il parametro della funzione intervallo nel ciclo per deve essere raggiunto prima che il progetto passi al comando successivo al di fuori del ciclo. Nell'esempio di codice seguente, una volta che i comandi Drivetrain nel ciclo per sono stati eseguiti quattro volte, il progetto uscirà dal ciclo per , imposterà il colore della penna su rosso e guiderà in retromarcia. Il progetto VEXcode dall'alto, con 4 nel parametro range mostrato con frecce rosse attorno al ciclo for e la notazione 4x che mostra che il progetto avrebbe iterato attraverso il ciclo quattro volte. Nella parte inferiore vengono aggiunte 2 righe di codice aggiuntive. Le frecce mostrano che quelle 2 linee verrebbero eseguite una volta completate le quattro iterazioni. Quelle linee leggono, il colore del set di punti della penna parentesi aperta parentesi chiusa rossa e la sottolineatura del drive del punto di trasmissione per parentesi aperta virgola inversa parentesi chiusa 600 mm virgola chiusa. A destra c'è un'immagine del progetto dopo che è stato eseguito sul parco giochi che mostra un quadrato nero con una linea rossa che ne esce disegnata dal robot VR.

Mini sfida

In questo progetto, il robot VR dovrebbe disegnare un quadrato blu sull' Art Canvas Playground, ma ci sono errori nel progetto. Modifica il progetto per risolvere la mini sfida!

Parco giochi Art Canvas con un quadrato blu disegnato dal robot VR.

Il video qui sotto mostra cosa fare per completare la mini sfida. Il robot parte al centro del parco giochi e disegna i quattro lati di un grande quadrato blu. 

File video
  • Guarda il video della soluzione e rivedi come dovrebbe muoversi il robot VR per completare la mini sfida.
  • Modificare il progetto Unit3Lesson2 in modo che corrisponda a questa immagine o copiare il codice seguente.
     
def main():
	pen.move(DOWN)
	pen.set_pen_color(RED)
	drivetrain.drive_for(FORWARD, 600, MM)
	
	for value in range(3):
		drivetrain.drive_for(FORWARD, 600, MM)
		drivetrain.turn_for(RIGHT, 90, DEGREES)
		wait (5, MSEC)
  • Avviare il progetto e identificare dove il Robot VR non completa i comportamenti previsti.
  • Modificare il progetto ed eseguirlo di nuovo. Verificare se il robot VR completa i comportamenti previsti.
  • Se il robot VR non disegna un quadrato blu, ripetere il passaggio precedente e riprovare. Continua a modificare ed eseguire il tuo progetto fino a quando il Robot VR non disegna un quadrato blu.
  • Una volta che il robot VR disegna con successo un quadrato blu sull' Art Canvas Playground, salva il progetto.

Congratulazioni! Hai risolto la mini sfida!

Domande

Seleziona un link qui sotto per accedere al quiz della lezione.

Google Doc / .docx / .pdf