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
- Librerie Python: Utilizzare le librerie standard di Python.
- Interfaccia Utente: Creare una semplice interfaccia utente a riga di comando che permetta all’utente di inserire il codice fiscale.
- 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
- Raccogliere il Codice Fiscale dell’Utente: Chiedere all’utente di inserire il codice fiscale.
- 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.
- 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
- Salva il codice in un file: Ad esempio
decodifica_codice_fiscale.py
. - Esegui il programma:
Terminal window python decodifica_codice_fiscale.py - 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
- Interfaccia Grafica: Utilizzare una libreria come
tkinter
per creare un’interfaccia grafica per il decodificatore di codice fiscale. - Validazione: Aggiungere funzionalità per validare il codice fiscale inserito dall’utente, come il controllo del carattere di controllo.
- Dizionari Completi: Utilizzare un dizionario completo dei codici catastali per i comuni italiani per una maggiore precisione.