Pràctiques d'introducció a Python . Part 3 - SMX
Contingut
Estructures de control repetitives
Teoria
while
L'estructura while repeteix un bloc d'instruccions mentre a l'avaluació de l'expressió lògica sigui certa (True). Opcionalment, pot tenir una estructura else que s'executarà al finalitzar el bucle.
nAny = 2017 while nAny <= 2020: print ("A l'any %d" % nAny) nAny += 1 else: print ("No n'hi ha més")
Execució:
A l'any 2017 A l'any 2018 A l'any 2019 A l'any 2020 No n'hi ha més
for
L'estructura for itera els elements d'una seqüència (llista, range, tupla, diccionari, cadena de caràcters, ...). Opcionalment, pot tenir una estructura else que s'executarà al finalitzar el bucle.
for nAny in range(2017,2021): print ("A l'any %d" % nAny) else: print ("No n'hi ha més")
Execució:
A l'any 2017 A l'any 2018 A l'any 2019 A l'any 2020 No n'hi ha més
Instruccions per a estructures repetitives
continue
Torna al començament de l'execució de la iteració del bucle.
for nAny in range(2017,2021): if nAny < 2019: continue print ("A l'any %d" % nAny) else: print ("No n'hi ha més")
Execució:
A l'any 2019 A l'any 2020 No n'hi ha més
break
Deixa d'executar les instruccions restants del bucle ignorant la part de l'else.
for nAny in range(2017,2021): if nAny > 2018: break print ("A l'any %d" % nAny) else: print ("No n'hi ha més")
Execució:
A l'any 2017 A l'any 2018
pass
Indica una instrucció nul·la, és a dir no s'executa res. Serveix per a que no hi hagi errors de sintaxi, principalment quan es vol comentar alguna instrucció imbricada.
for nAny in range(2017,2021): if nAny > 2018: # break pass print ("A l'any %d" % nAny) else: print ("No n'hi ha més")
Execució:
A l'any 2017 A l'any 2018 A l'any 2019 A l'any 2020 No n'hi ha més
Funció zip()
La funció zip() crea una seqüència on cada element és una tupla dels elements de cada seqüència que pren com a paràmetre.
lLlista = list( zip(range(1,4),["Escola","del","Clot"]) ) print( lLlista )
Execució:
[(1, 'Escola'), (2, 'del'), (3, 'Clot')]
Exemple d'iteració d'una funció zip():
for nNum,szParaula in zip(range(1,4),["Escola","del","Clot"]): print( "nNum: %d, szParaula: %s" % (nNum,szParaula) )
Execució:
nNum: 1, szParaula: Escola nNum: 2, szParaula: del nNum: 3, szParaula: Clot
Exercicis d'estructures de control repetitives
Exercicis d'estructures de control repetitives en Python
Bibliografia
El tutorial de Python Traducció de la comunitat de Python d'Argentina