Exercicis amb while
Exercici 1 — Comptar de l’1 al 10
Mostra per pantalla els números de l’1 al 10 utilitzant un bucle while.
Exercici 2 — Comptar enrere
Mostra els números del 10 al 1 utilitzant un bucle while.
Exercici 3 — Suma dels primers 10 números
Calcula la suma dels números de l’1 al 10 utilitzant un bucle while. Mostra el resultat final.
Exercici 4 — Demanar un número positiu
Demana a l’usuari un número. Mentre el número siga menor o igual que 0, torna a demanar-lo. Quan siga correcte, mostra el número introduït.
Exercici 5 — Taula de multiplicar
Demana un número a l’usuari i mostra la seua taula de multiplicar del 1 al 10 utilitzant while.
Exercici 6 — Comptar números introduïts
Demana números a l’usuari fins que escriga 0. Mostra quants números ha introduït (sense comptar el 0).
Exercici 7 — Suma fins a parar
Demana números a l’usuari i suma’ls. El programa acaba quan l’usuari introduïx un número negatiu. Mostra la suma total (sense incloure el número negatiu).
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”.
- Si falla 3 vegades, mostra “Accés bloquejat”.
Utilitza un while.
Exercici 9 — Mitjana de notes
Demana notes a l’usuari fins que escriga -1. Calcula i mostra la mitjana de les notes introduïdes (no inclogues el -1).
Exercici 10 — Menú repetitiu
Mostra un menú amb les opcions:
1. Saludar
2. Mostrar un número
3. Eixir
- El menú es repetix mentre l’usuari no trie l’opció 3.
- Si tria 1, mostra un missatge de salutació.
- Si tria 2, demana un número i mostra’l.
- Si tria una altra opció, mostra “Opció no vàlida”.
Utilitza un bucle while.
ERRORS AMB BUCLES WHILE
Exercici 1
num = 1
while num <= 5:
print(num)
Solució
Error: bucle infinit.
Explicació: La variable num no s’actualitza dins del bucle. Com que sempre val 1, la condició num <= 5 sempre és certa i el bucle no acaba mai.
num = 1
while num <= 5:
print(num)
num = num + 1
Exercici 2
num = 10
while num < 1:
print(num)
num = num - 1
Solució
Error: condició incorrecta.
Explicació: num val 10 i la condició num < 1 és falsa des del principi, per tant el bucle no s’executa ni una vegada.
num = 10
while num >= 1:
print(num)
num = num - 1
Exercici 3
num = 1
while num <= 10:
print(num)
num = num - 1
Solució
Error: actualització incorrecta del comptador.
Explicació: El bucle hauria d’avançar cap a 10, però num disminuïx. Això fa que la condició num <= 10 siga sempre certa i el bucle siga infinit.
num = 1
while num <= 10:
print(num)
num = num + 1
Exercici 4
while contador < 5:
print(contador)
contador = contador + 1
Solució
Error: variable no inicialitzada.
Explicació: La variable contador s’utilitza abans de donar-li cap valor, cosa que provoca un error en executar el programa.
contador = 0
while contador < 5:
print(contador)
contador = contador + 1
Exercici 5
num = 1
while num <= 5:
print(num)
num = num + 1
Solució
Error: error d’indentació.
Explicació: El codi dins del while ha d’estar indentat. Sense indentació, Python no sap quin codi forma part del bucle.
num = 1
while num <= 5:
print(num)
num = num + 1
Exercici 6
edat = int(input("Edat: "))
while edat >= 18:
print("Major d'edat")
Solució
Error: ús incorrecte de while (bucle infinit).
Explicació: Si l’edat és 18 o més, la condició és certa i com que edat no canvia dins del bucle, el missatge es repetix sense parar. En este cas, cal un if perquè només volem comprovar una vegada.
edat = int(input("Edat: "))
if edat >= 18:
print("Major d'edat")
else:
print("Menor d'edat")
Exercici 7
num = int(input("Introdueix un número positiu: "))
while num < 0:
print("Número incorrecte")
Solució
Error: el valor no s’actualitza dins del bucle (bucle infinit si és negatiu).
Explicació: Si num és negatiu, entra al bucle, però com no es torna a demanar un altre número, num no canvia i la condició continua sent certa sempre.
num = int(input("Introdueix un número positiu: "))
while num < 0:
print("Número incorrecte")
num = int(input("Introdueix un número positiu: "))
print("Número correcte:", num)
Exercici 8
i = 1
suma = 0
while i <= 5:
suma = suma + i
i = i + 2
print("Suma:", suma)
Solució
Error: actualització incorrecta del comptador.
Explicació: Amb i = i + 2, es salten valors (2 i 4). Si l’objectiu és sumar tots els números de l’1 al 5, cal incrementar d’1 en 1.
i = 1
suma = 0
while i <= 5:
suma = suma + i
i = i + 1
print("Suma:", suma)
Exercici 9
num = int(input("Introdueix un número (0 per acabar): "))
while num >= 0:
print("Has escrit:", num)
num = int(input("Introdueix un número (0 per acabar): "))
Solució
Error: condició de parada incorrecta.
Explicació: Quan num és 0, la condició num >= 0 continua sent certa, així que el bucle no acaba. Si 0 és el valor de fi, la condició correcta és num != 0.
num = int(input("Introdueix un número (0 per acabar): "))
while num != 0:
print("Has escrit:", num)
num = int(input("Introdueix un número (0 per acabar): "))
Exercici 10
opcio = 0
while opcio != 3:
print("1. Saludar")
print("2. Mostrar missatge")
print("3. Eixir")
if opcio == 1:
print("Hola")
elif opcio == 2:
print("Missatge")
Solució
Error: la variable opcio no s’actualitza (bucle infinit).
Explicació: No es llig cap opció de l’usuari, així que opcio sempre val 0 i la condició opcio != 3 sempre es complix.
opcio = 0
while opcio != 3:
print("1. Saludar")
print("2. Mostrar missatge")
print("3. Eixir")
opcio = int(input("Tria una opció: "))
if opcio == 1:
print("Hola")
elif opcio == 2:
print("Missatge")
elif opcio == 3:
print("Eixint del programa")
else:
print("Opció no vàlida")
Cas pràctic — Calculadora amb menú
Crea un programa en Python que simule una calculadora amb menú utilitzant un bucle while.
El programa ha de fer el següent:
-
Mostrar un menú d’opcions amb estes operacions:
- 1.Sumar
- 2.Restar
- 3.Multiplicar
- 4.Dividir
- 0.Eixir
-
Demanar a l’usuari que trie una opció del menú.
-
El programa ha de repetir-se contínuament fins que l’usuari trie l’opció 0 (Eixir).
-
Si l’usuari introduïx una opció que no està en el menú, s’ha de mostrar un missatge d’error i tornar a mostrar el menú.
-
Quan l’usuari trie una operació vàlida (1, 2, 3 o 4):
- Demana dos números.
- Realitza l’operació corresponent.
- Mostra el resultat per pantalla.
-
En el cas de la divisió:
- Si el segon número és 0, mostra un missatge indicant que no es pot dividir entre zero.