私はPythonの初心者です。私のコードが正しく動作していません。 私は、テキストファイル「hw.txt」と同じディレクトリにコードを置く私のプログラムは実行していません。テキストファイルを検出しません
TXTはこちらペーストビン:https://pastebin.com/vXuKeFCMプログラムは11個の数字の平均を取り、最低ドロップすることになっている
数。グレードの平均を印刷します。例外処理中。しかし、それはちょうどスキップし続け、例外ラインに直接行きます。ファイルは同じ場所にありますが。
#Welcome/Introduction Message
print("This program will read all the grades from the hw.txt file.")
print("Then the program wll calculate the final homework grade(average with the lowest grade dropped.")
print()
#TRY/ELSE/IF/STRUCTURE
try:
file = open("hw.txt", "r")
i = 0
minGrade = 0
total = 0
for line in file:
if i == 0:
minGrade = int(line)
else:
if minGrade > int(line):
minGrade= int(line)
total = total + int(line)
i = i + 1
average = (total - minGrade)/(i-1)
print("average final home grade:", average)
except:
print("File cannot open or be found. Try troubleshooting.")
問題が発生している場合は、 'try' /' except'文を削除して、どのような例外が発生しても完全なトレースバックを取得することをお勧めします。ファイルの検索には関係ありません。一般的には、あなたが予期せぬ例外をキャッチする可能性があるため、それ以外の方法で修正できるバグを隠してしまうので、すべてをキャッチする裸の 'except'ブロックを持つことは悪い考えです。 – Blckknght
'except'で特定の例外を使用することに加えて、できるだけ' try'ブロックに小さなコードを入れてください。あなたのケースでは、実際には 'open'が成功したかどうかだけをチェックしているので、' try'の下にあるべきものです。 – kindall
あなたのコードに例外を引き起こしているものがいくつかあります:数値でないものに 'int'を呼び出す(' ValueError'が出ます)。 'i'が1なら'(i-1) 'で割ります(' ZeroDivisionError'が得られます)。見つからないファイルは、それだけをキャッチする場合は、 'FileNotFoundError'を送出します。 – Blckknght