Bucles WHILE
La sentència "while" executa una sèrie d'accions sempre que es compleix una condició.
Prova això:
Al executar el programa, s'ha d'haver imprès:
Comptador és igual a 1
Comptador és igual a 2
Comptador és igual a 3
Comptador és igual a 4
Adéu
Cal notar que el bucle “While” es repetirà sempre que la condició sigui veritat. Si la declaració és falsa (comptador = 5 o superior), el bucle s'atura i continua amb la resta del codi (imprimeix la paraula “Adéu”).
A més, la variable comptador augmenta una unitat cada volta. Això és necessari per no crear un bucle infinit i que arribi un moment en que la condició sigui falsa.
Exercicis:
1. Escriu el següent codi, executa'l i digues quina és la seva sortida. Què passaria si comentàssim la línia x = x + 1;?
x = 0
while x < 5:
print("x =", x)
x = x + 1 # També es podria escriure com x+=1 (per simplificar l'escriptura de codi)
2. Corregeix els errors en aquest codi:
count = 0;
while (Count <8){
printline("Count és igual a" + comptar);
}
3. Quin és el resultat del codi següent?
comptador = 10
while comptador > 1:
print(comptador, "ampolles verdes penjant a la paret")
print(comptador, "ampolles verdes penjant a la paret")
print("I si una ampolla verda accidentalment caigués,")
comptador = comptador - 1 # També es podria escriure com x-=1 (per simplificar l'escriptura de codi)
print("Hi hauria", comptador, "ampolles verdes penjant a la paret.")
4. Imprimir el conjunt de nombres parells que hi ha entre 20 i 30 (extrems inclosos).
5. Imprimiu els números entre 27 i 35.
Bucles for...in
Els bucles "for...in" de Python executen una sèrie de sentències per a cada element contingut dins d'un objecte. Ex.:
for element in (1, 2, 3):
# Codi a repetir
print element
Python té una funció que ens permet no haver d'escriure tots els nombres dins del parèntesi i així evitar escriure de més, sobretot al cas en que la llista sigui molt llarga. La funció és "range()" i funciona tal com es veu a l'exemple:
for element in range(1, 3):
# Codi a repetir
print element
A més, s'ha de tenir present que l'iteració també pot donar-se sobre coses que no siguin nombres. Ex.:
for element in ("un", "dos", "tres"):
# Codi a repetir
print element
Cal notar que al bucle "for...in" el nombre de vegades que es repetirà el bucle queda fixat des del començament, mentre que als "while", el bucle es repeteix sempre que es compleixi alguna condició declarada que no té perquè ser fixa (el nombre d'iteracions pot variar).
Exercicis:
1. Escriu un programa que sumi els nombres de 1 fins a 1000.
2. Escriu un programa que sumi els parells de 1 fins a 1000.
Autoavaluació: