2016-11-05 8 views
2

"finally"ステートメントの使い方が混乱しています。Pythonのfinallyステートメントを使用して、ループを何度も繰り返したことを表示します。

ループを初めて通過すると、0で除算を試みたためにエラーが発生します。しかし、私はまだループが実行されたことをユーザーに印刷したい。

except句は、ゼロ除算が試行されたことを知らせるメッセージをユーザーに表示する必要があります。

finally節は、ループを何回行ったかを表示する必要があります。

これはの部品にあなたの質問を分割してみましょう私は

for i in range(10): 
    try: 
     print(7/i) 
    except ValueError: 
     print("Value contents invalid.") 
    finally: 
     Finally message 
+0

、ちょうどあなたのfinally文... – Li357

+0

にprint文を追加します。しかし、それは、私は人がループを通過したことを何回印刷する必要がありますと言う...それは何を意味するのでしょう?私は範囲(10)に私のために行うとき – Melanie432k

+0

印刷するには、現在の反復+ 1 .... – Li357

答えて

2

これまで持っているものです。

パート1:ループが実行され、ユーザーに印刷します。 except節は、0による除算が試みられたことを知らせるメッセージをユーザーに出力します。

パート2:finally句は、ループを何回行ったかを表示する必要があります。

以下はその答えです。追加の字下げが必要であることに注意してください。また、ValueErrorではなくZeroDivisionErrorである必要があります。あなたはほとんどそこにいる

for i in range(10):   
    try: 
     print(7/i) 
    except ZeroDivisionError: # part 1 
     print("Division by zero error.") 
    finally: 
     print("We've been through the loop ", i + 1, " times.") # part 2 
+1

Ohhhhhhhhh !!!!そうですか!!!私は私の笑いを忘れた。ありがとうございました!! – Melanie432k

+0

問題ありません。私は助けてくれると喜んで、そしてStackoverflowへようこそ! – wwl

関連する問題