Pràctiques d'introducció a Python . Part 3 - SMX

De binefa.com
Salta a la navegació Salta a la cerca

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

Python Tutorial

Una mica de Python

El tutorial de Python Traducció de la comunitat de Python d'Argentina

Python 3.8.2 documentation

Eines de programació en línia

trinket.io

onlinegdb.com