Esercizio con Python: Calcolatore di Numeri Primi
Descrizione
Scrivi un programma che chieda all’utente di inserire un numero intero e determini se quel numero è un numero primo oppure no.
Obiettivo
- Comprendere i concetti base di numeri primi.
- Praticare l’uso di cicli (
for
) e condizioni (if
) in Python. - Migliorare l’interazione utente-programma.
Codice
def is_prime(number):
"""
Verifica se un numero è primo.
"""
if number <= 1:
return False # I numeri minori o uguali a 1 non sono primi
for i in range(2, int(number**0.5) + 1): # Controlla divisori fino alla radice quadrata del numero
if number % i == 0:
return False
return True
# Chiedi all'utente un numero
try:
user_input = int(input("Inserisci un numero intero: "))
if is_prime(user_input):
print(f"{user_input} è un numero primo!")
else:
print(f"{user_input} non è un numero primo.")
except ValueError:
print("Per favore, inserisci un numero intero valido.")
Spiegazione
- Funzione
is_prime
:- Controlla se il numero è minore o uguale a 1. In tal caso, restituisce
False
. - Utilizza un ciclo che va da 2 alla radice quadrata del numero per verificare se ci sono divisori. Se trova un divisore, restituisce
False
. - Se il ciclo termina senza trovare divisori, restituisce
True
.
- Controlla se il numero è minore o uguale a 1. In tal caso, restituisce
- Input dell’utente:
- L’utente inserisce un numero intero.
- Il programma verifica se il numero è valido utilizzando un blocco
try-except
.
- Output:
- Il programma stampa se il numero è primo o meno.
Esercizio Extra
Prova a modificare il codice per:
- Stampare tutti i numeri primi fino a un numero scelto dall’utente.
- Controllare più numeri consecutivi inseriti dall’utente in un’unica riga.