Diferència entre revisions de la pàgina «Pràctiques d'introducció a Python . Part 3 - SMX»
m (→while) |
m (→Funció zip()) |
||
(Hi ha 12 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 26: | Línia 26: | ||
print ("No n'hi ha més") | print ("No n'hi ha més") | ||
+ | Execució: | ||
A l'any 2017 | A l'any 2017 | ||
A l'any 2018 | A l'any 2018 | ||
Línia 31: | Línia 32: | ||
A l'any 2020 | A l'any 2020 | ||
No n'hi ha més | No n'hi ha més | ||
− | |||
=== Instruccions per a estructures repetitives === | === Instruccions per a estructures repetitives === | ||
==== '''continue''' ==== | ==== '''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''' ==== | ==== '''break''' ==== | ||
− | Deixa d'executar les restants | + | 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) ) | ||
− | + | 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
Contingut
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]
El tutorial de Python Traducció de la comunitat de Python d'Argentina