Per repetir algunes instruccions diverses vegades s’utilitza la instrucció FOR.
En l’exemple, es demana a l’usuari que indiqui 5 amics seus.
amics=[] #Definim una llista que està buidafor i in range(5): print("Indica el nom d’un amic teu") amics.append(input())print(amics)La instrucció For comença amb una variable que serà em comptador. Habitualment s’utilitza la i, però es pot utilitzar qualsevol variable.
Després s’indiquen el nombre de repeticions. En aquest cas hem indicat in range(5), que vol dir que es farà 5 cops. La variable i el primer cop valdrà 0, el segon cop 1 i així fins que arribi a 4.
La instrucció Range indica els valors que va prenent el comptador. Si només s’indica un nombre, range(5), el comptador començarà a 0 i acabarà al nombre anterior (en aquest cas al 4).
Si es vol, es pot indicar inici i final. Per exemple, si s’indica
range (2,11) es faran 9 repeticions. El comptador prendrà els valors 2 3 4 5 6 7 8 9 10.
Per últim, es pot indicar que el comptador no vagi d’un en un. Per exemple, si s’indica
range (2, 11, 2)es faran 5 repeticions. El comptador prendrà els valors 2 4 6 8 10
Igual que la instrucció for, la while també fa que es repeteixin una sèrie d’instruccions. Amb aquesta instrucció no es repeteix un nombre concret de vegades, sinó que es va repetint mentre es compleixi una condició.
En l’exemple l’usuari ha d’encertar un nombre. I, fins que no ho faci, li anirà preguntant nombres.
clau_secreta=34nombre_introduit=0 print('Comencem. Has d’encertar el nombre secret!')while nombre_introduit != clau_secreta: print('Endevina un nombre entre el 0 i el 99') nombre_introduit=int(input())print('L’has encertat!')Quan estem treballant amb estructures de repetició, la funció BREAK s’utilitza per sortir del bucle immediatament (sense acabar el nombre de repeticions) i seguir amb la resta del codi.
for i in range(21,30): #es fan 9 repeticions, de 21 a 29 if i==23: break #quan s’arriba a 23, s’acaba el bucle print (i) #només es veurà en pantalla 21 i 22. La instrucció CONTINUE s’utilitza per passar al següent valor del comptador sense acabat el codi del bucle.
for i in range(1,5): #es fan 4 repeticions, de 1 a 4 if i==3: continue #quan s’arriba a 3, es salta directament a 4 print (i) #només es veurà en pantalla 1 2 4