📢 Nuovo Corso Bootstrap Completo disponibile!

Codice Fiscale Inverso

Descrizione del Progetto

In questo progetto, realizzerai un programma che estrae i dati personali da un codice fiscale italiano utilizzando Python. Il programma decodificherĂ  le informazioni relative al nome, cognome, data di nascita, sesso e luogo di nascita.

Requisiti

  1. Librerie Python: Utilizzare le librerie standard di Python.
  2. Interfaccia Utente: Creare una semplice interfaccia utente a riga di comando che permetta all’utente di inserire il codice fiscale.
  3. Decodifica del Codice Fiscale:
    • Estrarre le informazioni relative al cognome e al nome.
    • Estrarre e decodificare la data di nascita e il sesso.
    • Estrarre e decodificare il codice del luogo di nascita.

Passaggi

  1. Raccogliere il Codice Fiscale dell’Utente: Chiedere all’utente di inserire il codice fiscale.
  2. Decodificare il Codice Fiscale:
    • Estrarre e decodificare il cognome e il nome.
    • Estrarre e decodificare la data di nascita e il sesso.
    • Estrarre e decodificare il codice del luogo di nascita.
  3. Visualizzare i Dati Estratti.

Esempio di Codice

import datetime
comuni = {
'H501': 'ROMA',
'F205': 'MILANO',
'F839': 'NAPOLI',
# Aggiungi altri comuni qui
}
def estrai_nome(codice):
vocali = 'AEIOU'
consonanti = ''.join([c for c in codice if c not in vocali])
return consonanti
def estrai_data_nascita(codice, sesso):
mese_codice = 'ABCDEHLMPRST'
anno = int(codice[:2])
if anno < 40:
anno += 2000
else:
anno += 1900
mese = mese_codice.index(codice[2])
giorno = int(codice[3:5])
if sesso == 'F':
giorno -= 40
return datetime.date(anno, mese + 1, giorno)
def estrai_comune(codice):
return comuni.get(codice, 'Comune sconosciuto')
def decodifica_codice_fiscale(cf):
cognome = estrai_nome(cf[:3])
nome = estrai_nome(cf[3:6])
sesso = 'F' if int(cf[9:11]) > 31 else 'M'
data_nascita = estrai_data_nascita(cf[6:11], sesso)
comune = estrai_comune(cf[11:15])
return cognome, nome, data_nascita, sesso, comune
def main():
print("Decodifica Codice Fiscale")
cf = input("Inserisci il codice fiscale: ").upper()
if len(cf) != 16:
print("Codice fiscale non valido.")
return
cognome, nome, data_nascita, sesso, comune = decodifica_codice_fiscale(cf)
print(f"Cognome: {cognome}")
print(f"Nome: {nome}")
print(f"Data di Nascita: {data_nascita.strftime('%d/%m/%Y')}")
print(f"Sesso: {sesso}")
print(f"Comune di Nascita: {comune}")
if __name__ == "__main__":
main()

Istruzioni per l’Esecuzione

  1. Salva il codice in un file: Ad esempio decodifica_codice_fiscale.py.
  2. Esegui il programma:
    Terminal window
    python decodifica_codice_fiscale.py
  3. Interazione con l’utente:
    • Inserisci il codice fiscale.
    • Il programma decodificherĂ  e visualizzerĂ  i dati personali relativi al cognome, nome, data di nascita, sesso e comune di nascita.

Estensioni Possibili

  1. Interfaccia Grafica: Utilizzare una libreria come tkinter per creare un’interfaccia grafica per il decodificatore di codice fiscale.
  2. Validazione: Aggiungere funzionalità per validare il codice fiscale inserito dall’utente, come il controllo del carattere di controllo.
  3. Dizionari Completi: Utilizzare un dizionario completo dei codici catastali per i comuni italiani per una maggiore precisione.