Diferència entre revisions de la pàgina «ASIX-M3-UF1-A2»

De wikiserver
Dreceres ràpides: navegació, cerca
(Bucle for)
(Bucle for)
Línia 52: Línia 52:
 
Un bucle for es una estructua de control que repeteix (iteració) un número de vegades determinat un bloc d'instruccions (cos del bucle).
 
Un bucle for es una estructua de control que repeteix (iteració) un número de vegades determinat un bloc d'instruccions (cos del bucle).
  
'''Sintaxis'''
+
'''Sintaxi'''
  
 
<source lang="python">
 
<source lang="python">
Línia 185: Línia 185:
  
 
[https://www.mclibre.org/consultar/python/lecciones/python-for-2.html Bucles for niuats]
 
[https://www.mclibre.org/consultar/python/lecciones/python-for-2.html Bucles for niuats]
 +
 +
 +
 +
 +
==bucle while==
 +
 +
En un bucle while s'executen les instruccions del seu cos mentre la condició sigui certa (True).
 +
 +
'''Sintaxi'''
 +
 +
<source lang="python">
 +
while condicio:
 +
    cos del bucle
 +
</source>
 +
 +
:* La variable o variables de la condició s'anomenen variables de control.
 +
 +
:* Les variables de control s'han d'iniciar abans del bucle while i s'han d'actualitzar dins del bucle.
 +
 +
:* Es pot utilitzar en tots els casos que s'utilitza un '''for''', però no a l'inrevés.
 +
 +
:* Bucle while amb una condició
 +
 +
<source lang="python">
 +
num = 1
 +
while num <= 3:
 +
    print(num, end=" ")
 +
    num += 1
 +
print("Final")
 +
</source>
 +
 +
<pre>
 +
1 2 3
 +
Final
 +
</pre>
 +
 +
:* Bucle while amb dues condicions: entrada de un màxim de 5 números o fins que introdueixin el número 10

Revisió del 10:52, 28 oct 2020

Condicional if

  • Permet decidir si en funció d’una condició cal o no executar una o un conjunt d’instruccions.
if condició:
  instrucció(ns)
  • La condició te dues respostes possibles: Certa o Falsa. Si és certa s’executarà el procediment i sinó no
  • s’executarà i la execució continuarà amb les sentencies que hi hagi a continuació del bloc if.

Exemple:

# Programa per la Sentència if

edat = int(input("Edat:"))
if edat >= 18 :
  print("Ets major d'edat")
if edat < 18 :
  print("Ets menor d'edat")

Condicionals else i elif

# Programa per la Sentències else i elif
edat = int(input("Edat: "))
if edat >= 18 :
  print("Ets major d'edat")
else:                           # S'executa si la condició de l'if és falsa
  print("Ets menor d'edat")
# Si necessitem comprovar un altre valor de l'edat podem utilitzar elif

edat = int(input("Edat: "))
if edat >= 18 :
  print("Ets major d'edat")
elif edat >= 16:                # es comprova només si la condició de l'if és falsa
  print("Ets adolescent menor d'edat")
else:                           # S'executa només si la condició de l'elif és falsa
  print("Ets menor d'edat")
  • Es poden posar tants elif com necessitem

Bucle for

Un bucle for es una estructua de control que repeteix (iteració) un número de vegades determinat un bloc d'instruccions (cos del bucle).

Sintaxi

for variable in element iterable (range, llista, cadena, etc.):
    cos del bucle
  • No cal definir prèviament la variable. És més, quan no participa en el cos del bucle es pot substituir per un '-'.

Abans que res, entenguem el funcionament de la funció range().

  • genera automáticament una seqüencia seguint una progressió aritmètica.
  • Es pot utilitzar amb un, dos o tres paràmetres.
range(4) ==> 0 1 2 3 (sempre comença per defecte en el 0)
range(1, 5) ==> 1 2 3 4 (podem indicar el rang de valors a considerar)
range(1, 10, 2) ==> 1 3 5 7 9 (podem indicar l'increment entre elements de la seqüencia)
range(9, 0, -2) ==> 9 7 5 3 1 (podem generar una seqüencia descendent)

Bucle for amb la funció range()

  • amb un paràmetre
print("Inici ")             # S'executa una vegada 
for i in range(3):
    print("i ", end="")     # S'executa tres vegades: la variable i pren els valors 0 1 i 2
print()                     # S'executa una vegada: salt de línia 
print("Final")              # S'executa una vegada
Inci
0 1 2
Final
  • amb dos paràmetre: definim el rang
print("Inici ")             # S'executa una vegada 
for i in range(1,4):
    print("i ", end="")     # S'executa tres vegades: la variable i pren els valors 1 2 i 3
print()                     # S'executa una vegada: salt de línia 
print("Final")              # S'executa una vegada
Inci
1 2 3
Final
  • amb 3 paràmetres: definim el rang i l'increment
print("Inici ")             # S'executa una vegada 
for i in range(1,10,2):
    print("i ", end="")     # S'executa cinc vegades: la variable i pren els valors 1 3 5 7 9
print()                     # S'executa una vegada: salt de línia 
print("Final")              # S'executa una vegada
Inci
1 3 5 7 9
Final
  • amb 3 paràmetres: recorregut invers
print("Inici ")             # S'executa una vegada 
for i in range(9,0,-2):
    print("i ", end="")     # S'executa cinc vegades: la variable i pren els valors 9 7 5 3 1
print()                     # S'executa una vegada: salt de línia 
print("Final")              # S'executa una vegada
Inci
9 7 5 3 1
Final

Bucles for niuats

  • Parlem de bucles niuats quan un bucle es troba dins dels cos d'un altre bucle.
  • S'anomenen respectivament bucle intern i extern.
  • Bucles independents: El bucle intern s'executa sempre el mateix número de vegades (no depèn de la variable del bucle intern)
for i in range(1,4):
   print("i: %d" %i, end =" ==> ")
   for j in range(3):
      print("j: %d" %j, end = " ")
   print('')
i: 1 ==> j: 0 j: 1 j: 2 
i: 2 ==> j: 0 j: 1 j: 2 
i: 3 ==> j: 0 j: 1 j: 2 
  • Bucles dependents: El número de vegades que s'executa el bucle intern depèn del valor de variable del bucle extern
for i in range(1,4):
   print("i: %d" %i, end =" ==> ")
   for j in range(i):
      print("j: %d" %j, end = " ")
   print('')
i: 1 ==> j: 0 
i: 2 ==> j: 0 j: 1 
i: 3 ==> j: 0 j: 1 j: 2 


Enllaços

Bucle for

Bucles for niuats



bucle while

En un bucle while s'executen les instruccions del seu cos mentre la condició sigui certa (True).

Sintaxi

while condicio:
    cos del bucle
  • La variable o variables de la condició s'anomenen variables de control.
  • Les variables de control s'han d'iniciar abans del bucle while i s'han d'actualitzar dins del bucle.
  • Es pot utilitzar en tots els casos que s'utilitza un for, però no a l'inrevés.
  • Bucle while amb una condició
num = 1
while num <= 3:
    print(num, end=" ")
    num += 1
print("Final")
1 2 3
Final 
  • Bucle while amb dues condicions: entrada de un màxim de 5 números o fins que introdueixin el número 10