Diferència entre revisions de la pàgina «Pràctiques d'introducció a Python . Part 3 - SMX»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 10 revisions intermèdies del mateix usuari que no es mostren)
Línia 35: Línia 35:
 
=== Instruccions per a estructures repetitives ===
 
=== Instruccions per a estructures repetitives ===
 
==== '''continue''' ====
 
==== '''continue''' ====
Acaba l'execució del bucle, a més no executa el bloc d'instruccions que indica la part '''else'''.
+
Torna al començament de l'execució de la iteració del bucle.
  
 
  for nAny in range(2017,2021):
 
  for nAny in range(2017,2021):
 
   if nAny < 2019:
 
   if nAny < 2019:
     continue
+
     '''continue'''
 
   print ("A l'any %d" % nAny)
 
   print ("A l'any %d" % nAny)
 
  else:
 
  else:
 
   print ("No n'hi ha més")
 
   print ("No n'hi ha més")
 +
 +
Execució:
 +
A l'any 2019
 +
A l'any 2020
 +
No n'hi ha més
  
 
==== '''break''' ====
 
==== '''break''' ====
Deixa d'executar les restants instruccions del bucle i torna a iterar.
+
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''' ====
 
==== '''pass''' ====
Indica una instrucció nul·la, és a dir no s'executa res. Serveix per a que no hi hagi errors de sintaxi.
+
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) )
  
== Exemples d'iteració de seqüències ==
+
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 ==

Revisió de 20:35, 21 abr 2020

Estructures de control repetitives[modifica]

Teoria[modifica]

while[modifica]

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[modifica]

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[modifica]

continue[modifica]

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[modifica]

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[modifica]

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()[modifica]

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[modifica]

Exercicis d'estructures de control repetitives en Python

Bibliografia[modifica]

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[modifica]

trinket.io

onlinegdb.com