Exercicis amb for

Exercici 1 — Comptar de l’1 al 10

Mostra per pantalla els números de l’1 al 10 utilitzant un bucle for amb range().

Exercici 2 — Comptar enrere

Mostra els números del 10 al 1 utilitzant un bucle for amb range() i un pas negatiu.

Exercici 3 — Suma dels primers 10 números

Calcula la suma dels números de l’1 al 10 utilitzant un bucle for. Mostra el resultat final.

Exercici 4 — Demanar un número positiu

Dona fins a 5 intents a l’usuari per a introduir un número positiu.

  • Si l’usuari introduïx un número positiu, mostra’l i acaba el programa.
  • Si després de 5 intents no ho fa correctament, mostra un missatge indicant que s’han esgotat els intents.

Utilitza un bucle for i break.

Exercici 5 — Taula de multiplicar

Demana un número a l’usuari i mostra la seua taula de multiplicar del 1 al 10 utilitzant un bucle for.

Exercici 6 — Comptar números introduïts

Demana 10 números a l’usuari utilitzant un bucle for. Compta quants d’estos números són diferents de 0 i mostra el resultat final.

Exercici 7 — Suma fins a parar

Demana fins a 10 números a l’usuari i suma’ls.

  • El programa ha d’acabar abans si l’usuari introduïx un número negatiu.
  • El número negatiu no s’ha d’incloure en la suma.

Utilitza un bucle for i break.

Exercici 8 — Control d’intents

Demana una contrasenya a l’usuari. Té 3 intents com a màxim per a escriure “python123”.

  • Si l’encerta, mostra “Accés concedit” i para el programa.
  • Si falla els 3 intents, mostra “Accés bloquejat”.

Utilitza un bucle for.

Exercici 9 — Mitjana de notes

Demana fins a 10 notes a l’usuari.

  • El programa ha d’acabar abans si l’usuari escriu -1.
  • Calcula i mostra la mitjana de les notes introduïdes (sense incloure el -1).
  • Si no s’ha introduït cap nota vàlida, mostra un missatge indicant-ho.

Utilitza un bucle for i break.

Exercici 10 — Menú repetitiu

Mostra un menú amb les opcions següents:

  1. Saludar
  2. Mostrar un número
  3. Eixir

El menú s’ha de repetir fins que l’usuari trie l’opció 3.

Com que amb for el nombre de repeticions sol ser conegut, simula un bucle indefinit utilitzant un for amb un range gran i break quan l’usuari trie eixir.

  • Si tria 1, mostra un missatge de salutació.
  • Si tria 2, demana un número i mostra’l.
  • Si tria qualsevol altra opció, mostra “Opció no vàlida”.

Errors amb bucles for

Exercici 1

for i in range(1, 6):
    print(i)
    i = i + 1
Solució

Error: modificació manual de la variable de control del for.

Explicació: En un bucle for, la variable de control (i) es gestiona automàticament. El canvi i = i + 1 no té efecte real i pot confondre el comportament del bucle.

for i in range(1, 6):
    print(i)

Exercici 2

for i in range(10, 1):
    print(i)
Solució

Error: rang incorrecte.

Explicació: range(10, 1) no genera cap valor perquè el valor inicial és major que el final i no hi ha pas negatiu.

for i in range(10, 0, -1):
    print(i)

Exercici 3

suma = 0
for i in range(1, 10):
    suma = suma + i
print("Suma:", suma)
Solució

Error: rang incomplet.

Explicació: range(1, 10) genera els valors de l’1 al 9. Si volem sumar fins a 10, cal que el límit superior siga 11.

suma = 0
for i in range(1, 11):
    suma = suma + i
print("Suma:", suma)

Exercici 4

for i in range(5)
    print(i)
Solució

Error: falta el caràcter : al final del for.

Explicació: Tots els bucles for han d’acabar amb dos punts abans del bloc indentat.

for i in range(5):
    print(i)

Exercici 5

for i in range(1, 6):
print(i)
Solució

Error: falta d’indentació dins del bucle.

Explicació: El codi que forma part del bucle ha d’estar correctament indentat.

for i in range(1, 6):
    print(i)

Exercici 6

num = int(input("Introdueix un número: "))
for i in range(1, 11):
    print(num, "x", i, "=", num * i)
    break
Solució

Error: ús incorrecte de break.

Explicació: El break fa que el bucle acabe en la primera iteració, per tant només es mostra una línia de la taula.

num = int(input("Introdueix un número: "))
for i in range(1, 11):
    print(num, "x", i, "=", num * i)

Exercici 7

for i in range(3):
    password = input("Contrasenya: ")
    if password == "python123":
        print("Accés concedit")
else:
    print("Accés bloquejat")
Solució

Error: falta break quan la contrasenya és correcta.

Explicació: Sense break, el bucle continua i el else del for s’executa encara que l’usuari haja encertat la contrasenya.

for i in range(3):
    password = input("Contrasenya: ")
    if password == "python123":
        print("Accés concedit")
        break
else:
    print("Accés bloquejat")

Exercici 8

for i in range(1, 11):
    suma = suma + i
print(suma)
Solució

Error: variable no inicialitzada.

Explicació: La variable suma s’utilitza abans de ser creada, cosa que provoca un error d’execució.

suma = 0
for i in range(1, 11):
    suma = suma + i
print(suma)

Exercici 9

for i in range(10, 0, 1):
    print(i)
Solució

Error: pas incorrecte en el range.

Explicació: El pas és positiu (1), però el valor inicial és major que el final. El bucle no s’executa mai.

for i in range(10, 0, -1):
    print(i)

Exercici 10

opcio = int(input("Opció: "))

for i in range(1000):
    print("1. Saludar")
    print("2. Mostrar número")
    print("3. Eixir")

    if opcio == 1:
        print("Hola")
    elif opcio == 2:
        num = int(input("Número: "))
        print(num)
    elif opcio == 3:
        break
Solució

Error: l’opció només es demana una vegada.

Explicació: El valor de opcio no canvia dins del bucle, per tant el menú no funciona correctament.

for i in range(1000):
    print("1. Saludar")
    print("2. Mostrar número")
    print("3. Eixir")

    opcio = int(input("Opció: "))

    if opcio == 1:
        print("Hola")
    elif opcio == 2:
        num = int(input("Número: "))
        print(num)
    elif opcio == 3:
        break
    else:
        print("Opció no vàlida")

Cas pràctic — Comptador i suma amb menú

Crea un programa en Python que mostre un menú utilitzant un bucle for per a simular una repetició indefinida.

El programa ha de fer el següent:

Mostra un menú d’opcions:

  1. Comptar de l’1 al N
  2. Sumar de l’1 al N
  3. Mostrar parells fins a N
  4. Eixir

Demana a l’usuari que trie una opció.

El programa s’ha de repetir fins que l’usuari trie l’opció 0. Quan això passe, utilitza break per a eixir del bucle.

Si l’usuari introduïx una opció incorrecta, mostra un missatge d’error i torna a mostrar el menú.

Quan l’usuari trie una opció vàlida (1, 2 o 3):

  • Demana un número N (enter positiu).
  • Si N no és positiu, mostra un missatge d’error i torna al menú.

Funcionament de cada opció:

  • Opció 1: mostra els números de l’1 al N utilitzant for i range().
  • Opció 2: calcula i mostra la suma de l’1 al N utilitzant un bucle for.
  • Opció 3: mostra els números parells des de 0 fins a N utilitzant range(0, N + 1, 2).