×

Esercizio con Python: Calcolatore di Numeri Primi

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

  1. Comprendere i concetti base di numeri primi.
  2. Praticare l’uso di cicli (for) e condizioni (if) in Python.
  3. 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

  1. 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.
  2. Input dell’utente:
    • L’utente inserisce un numero intero.
    • Il programma verifica se il numero è valido utilizzando un blocco try-except.
  3. 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.