Esercizi Ciclo While Python
Ecco degli esercizi semplici con soluzione per praticare le basi del Ciclo While in Python.
Esercizio 1
Stampare i numeri interi da 1 a 10 usando un loop while.
i = 1while i <= 10: print(i) i += 1
Esercizio 2
Calcolare la somma dei primi n numeri interi positivi usando un loop while. L'utente deve inserire il valore di n.
n = int(input("Inserisci un valore per n: "))sum = 0i = 1while i <= n: sum += i i += 1print("La somma dei primi", n, "numeri interi positivi è", sum)
Esercizio 3
Stampare i numeri pari da 2 a 10 usando un loop while.
i = 2while i <= 10: print(i) i += 2
Esercizio 4
Chiedere all'utente di indovinare un numero intero casuale compreso tra 1 e 10. Continuare a chiedere all'utente di indovinare finché non indovina il numero corretto. Usare un loop while.
import random
num = random.randint(1, 10)guess = int(input("Indovina un numero compreso tra 1 e 10: "))
while guess != num: guess = int(input("Sbagliato. Prova ancora: "))
print("Indovinato!")
Esercizio 5
Chiedere all'utente di inserire una stringa. Stampare la stringa al contrario usando un loop while.
s = input("Inserisci una stringa: ")i = len(s) - 1
while i >= 0: print(s[i], end="") i -= 1
Esercizio 6
Stampare i numeri da 10 a 1 usando un loop while.
i = 10while i >= 1: print(i) i -= 1
Esercizio 7
Calcolare il fattoriale di un numero intero positivo n usando un loop while.
n = int(input("Inserisci un valore per n: "))fact = 1i = 1while i <= n: fact *= i i += 1print("Il fattoriale di", n, "è", fact)
Esercizio 8
Chiedere all'utente di inserire una lista di numeri interi. Stampare la somma di tutti i numeri usando un loop while.
lst = []n = int(input("Quanti numeri vuoi inserire? "))i = 0while i < n: num = int(input("Inserisci un numero: ")) lst.append(num) i += 1sum = 0i = 0while i < len(lst): sum += lst[i] i += 1print("La somma di tutti i numeri è", sum)
Esercizio 9
Chiedere all'utente di inserire una stringa. Stampare solo le consonanti della stringa usando un loop while.
s = input("Inserisci una stringa: ")i = 0
while i < len(s): if s[i] not in "aeiouAEIOU": print(s[i], end="") i += 1