Ciclo while
Fa parte della sezione Fondamenti del percorso Python di Coddy. Lezione 36 di 77.
Un ciclo while è diverso dal ciclo for. Un ciclo for ci permette di iterare su un determinato range, mentre un ciclo while ci permette di continuare a iterare finché una certa condizione è soddisfatta.
Per usare un ciclo while, scrivi:
while condition:
codeIl codice verrà eseguito solo se la condizione è True.
La condizione si forma in genere usando operatori di confronto come <= (minore o uguale a), >= (maggiore o uguale a), < (minore di), > (maggiore di) o == (uguale a). Il ciclo continua a essere eseguito finché il confronto restituisce True e si interrompe non appena diventa False.
All'interno del corpo del ciclo, di solito devi aggiornare la variabile controllata. Questo si fa con gli operatori di assegnazione composta come += (somma e assegna), -= (sottrae e assegna), *= (moltiplica e assegna) o /= (divide e assegna). Per esempio, x *= 2 è una forma abbreviata di x = x * 2. Senza aggiornare la variabile, la condizione non cambierebbe mai e il ciclo continuerebbe all'infinito.
Ci sono molti casi d'uso in cui un while risolverebbe il problema, ma il ciclo for no.
Per esempio, considera questo problema:
Trova la più piccola potenza di 2 che sia maggiore di un dato numero.
Per risolverlo useremo un ciclo while che moltiplicherà ripetutamente per 2 la potenza corrente di 2 finché non diventerà maggiore del numero dato:
number = 27
power_of_two = 1
while power_of_two <= number:
power_of_two *= 2
print(power_of_two)Qui, power_of_two <= number è la condizione che usa un operatore di confronto, mentre power_of_two *= 2 aggiorna la variabile a ogni iterazione usando un operatore di assegnazione aumentata. Quando power_of_two supera number, la condizione diventa False e il ciclo si interrompe.
Sfida
PrincipianteScrivi un programma che riceva un input, un numero float.
Usa un ciclo while per dividere l'input per 2 finché il numero è maggiore o uguale a 3.5.
Stampa il primo numero minore di 3.5.
Provalo tu
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 47Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati10FizzBuzz con un tocco speciale
Panoramica del giocoLa funzione FizzBuzz2Variabili
NumeriStringaBooleanoConvenzioni di denominazioneVariabili vuoteRipasso - Inizializzare le variabili8Cicli
Ciclo forCiclo whileBreakContinueRipasso - FattorialeLa funzione rangeCiclo annidatoRipasso - Input dinamico3Operatori Parte 1
Operatori aritmeticiOperatore moduloScorciatoie aritmeticheRipasso - Matematica sempliceOperatori di confronto6Input/output di base
OutputOutput con variabiliInputConversione di tipoRipasso - Fino a 120Ripasso - Vero o falso9Funzioni
Dichiarare una funzioneArgomentiValore restituitoRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefinitiEsercitati da solo: Compilatore Python online