Ciao ragazzi,
dopo anni che avevo accantonato la programmazione, mi sono approcciato a Python, quindi devo rispolverare un po' la logica ed imparare il linguaggio. Per fare pratica su IF e liste in Python, mi sono inventato il seguente esercizio: l'utente scrive una parola, il programma valuta se è un giorno della settimana o meno e risponde di conseguenza.
il codice è il seguente
Come vedete, mi sono posto 2 problemi:codice:giorni = ['lunedì','martedì','mercoledì','giovedì','venerdì','sabato','domenica'] inputUtente =input( "Scrivere un giorno della settimana:") inputUtente = inputUtente.lower() if inputUtente =="lunedi": inputUtente = "lunedì" elif inputUtente =="martedi": inputUtente = "martedì" elif inputUtente =="mercoledi": inputUtente ="mercoledì" elif inputUtente =="giovedi": inputUtente =="giovedì" elif inputUtente == "venerdi": inputUtente = "venerdì" if inputUtente in giorni: print(f"{inputUtente.title()} è un giorno della settimana") else: print(f"{inputUtente.title()} NON è un giorno della settimana")
1. l'input dell'utente è sempre convertito in minuscole per essere confrontato con la lista
2. Controllando su internet, la grammatica vuole che i giorni dal lunedì al venerdì si scrivano con la lettera accentata, ma l'utente potrebbe anche essere sgrammaticato e scriverlo senza accenti
Magari è un argomento troppo avanzato per un neofita, ma mi chiedevo come potrebbe essere gestito il secondo punto. A livello di logica, dovrei sovrascrivere la stringa con una cinquina di if (se mi scrivi lunedi, il programma lo sostituisce con lunedì): esiste una soluzione "da neofita" più sbrigativa?