Gestione degli errori con try-except
Una buona pratica per scrivere le tue funzioni è anche quella di prevedere i modi in cui altre persone (o tu stesso, se per sbaglio usi la tua funzione) potrebbero utilizzare la funzione che hai definito.
Come nell'esercizio precedente, hai visto che la funzione len() è in grado di gestire argomenti di input come stringhe, liste e tuple, ma non quelli di tipo int e solleva un messaggio di errore appropriato quando incontra argomenti di input non validi. Un modo per farlo è la gestione delle eccezioni con il blocco try-except.
In questo esercizio definirai una funzione e utilizzerai un blocco try-except per gestire i casi in cui gli argomenti di input non sono corretti.
Ricorda la funzione shout_echo() che hai definito negli esercizi precedenti; parti della definizione della funzione sono riportate nel codice di esempio. Il tuo obiettivo è completare il codice di gestione delle eccezioni nella definizione della funzione e fornire un messaggio di errore appropriato quando si verifica un errore.
Questo esercizio fa parte del corso
Introduzione alle funzioni in Python
Istruzioni dell'esercizio
- Inizializza le variabili
echo_wordeshout_wordscome stringhe vuote. - Aggiungi le parole chiave
tryeexceptnelle posizioni appropriate per il blocco di gestione delle eccezioni. - Usa l'operatore
*per concatenareechocopie diword1. Assegna il risultato aecho_word. - Concatena la stringa
'!!!'aecho_word. Assegna il risultato ashout_words.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define shout_echo
def shout_echo(word1, echo=1):
"""Concatenate echo copies of word1 and three
exclamation marks at the end of the string."""
# Initialize empty strings: echo_word, shout_words
# Add exception handling with try-except
____:
# Concatenate echo copies of word1 using *: echo_word
echo_word = ____
# Concatenate '!!!' to echo_word: shout_words
shout_words = ____
____:
# Print error message
print("word1 must be a string and echo must be an integer.")
# Return shout_words
return shout_words
# Call shout_echo
shout_echo("particle", echo="accelerator")