Fehlerbehandlung mit try-except
Wenn du deine eigenen Funktionen schreibst, ist es eine gute Praxis, auch die Art und Weise vorwegzunehmen, wie andere Leute (oder du selbst, wenn du deine eigene Funktion versehentlich falsch benutzt) die von dir definierte Funktion verwenden könnten.
Wie in der vorigen Übung hast du gesehen, dass die Funktion len()
mit Eingabeargumenten wie Strings, Listen und Tupeln umgehen kann, aber nicht mit solchen vom Typ int und eine entsprechende Fehlermeldung ausgibt, wenn sie auf ungültige Eingabeargumente trifft. Eine Möglichkeit, dies zu tun, ist die Ausnahmebehandlung mit dem try-except
-Block.
In dieser Übung definierst du eine Funktion und verwendest einen try-except
-Block, um Fälle zu behandeln, in denen falsche Eingabeargumente an die Funktion übergeben werden.
Erinnere dich an die Funktion shout_echo()
, die du in den vorherigen Übungen definiert hast; Teile der Funktionsdefinition sind im Beispielcode enthalten. Dein Ziel ist es, den Code zur Behandlung von Ausnahmen in der Funktionsdefinition zu vervollständigen und eine entsprechende Fehlermeldung auszugeben, wenn ein Fehler auftritt.
Diese Übung ist Teil des Kurses
Einführung in Funktionen in Python
Anleitung zur Übung
- Initialisiere die Variablen
echo_word
undshout_words
auf leere Strings. - Füge die Schlüsselwörter
try
undexcept
an den entsprechenden Stellen für den Ausnahmebehandlungsblock hinzu. - Benutze den
*
-Operator, umecho
Kopien vonword1
zu verketten. Weise das Ergebnisecho_word
zu. - Verkette den String
'!!!'
mitecho_word
. Weise das Ergebnisshout_words
zu.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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")