Day 217finally節で後処理を行う
Pythonコード
1def divide_numbers():2 try:3 num1 = float(input('最初の数字を入力してください:'))4 num2 = float(input('2番目の数字を入力してください:'))5 result = num1 / num26 print('結果:', result)7 except ZeroDivisionError:8 print('0で割ることはできません。')9 except ValueError:10 print('数字以外の入力はできません。')11 finally:12 print('計算が終了しました。')13 14divide_numbers()
解説
- 行1〜2: このコードでは、関数 `divide_numbers` を定義します。この関数内で、ユーザーから2つの数字を入力してもらい、それらを割り算します。try/except/finally の構文を使用して、例外処理と後処理を行います。`try` は、エラーが発生する可能性のあるコードを実行するブロックです。
- 行3〜5: `float(input(...))` でユーザーから数字を入力してもらいます。`float()` は文字列を浮動小数点数に変換します。入力ミスを避けるために、try/except ブロック内で実行します。`input()` はユーザーから入力を受け付ける関数です。
- 行6: 入力された2つの数字を割り算し、結果を `result` 変数に格納します。
- 行7: 割り算の結果を表示します。`print()` は画面に文字や値を表示する関数です。
- 行8〜10: `except` ブロックでは、0で割ったときの `ZeroDivisionError` と、数字以外の入力のときの `ValueError` を捕捉します。エラーが発生したときのメッセージを表示します。
- 行11〜12: `finally` ブロックでは、例外が発生したかどうかに関係なく、常に実行されるコードを記述します。この場合、計算が終了したことを表示します。
- 行13: 関数 `divide_numbers` を呼び出して、実行します。
次に試してみよう
- ユーザーから入力された数字を加算する関数を作成してみましょう。
- リスト内の数字をすべて合計する関数を作成してみましょう。
- 入力された文字列を大文字に変換する関数を作成してみましょう。