4

テスト用に 100 点満点をチェックするこのプログラムをセットアップしました。ユーザーが 60 未満の値を入力した場合、59 を超えると不合格、合格となります。

mark = int(input("Please enter the exam mark out of 100 "))
if mark < 60:
    print("\nFail")
elif mark < 101:
    print("\nPass")
else:
    print("\nThe mark is out of range")

ユーザーが整数を入力しない場合、プログラムでエラーが発生しないようにする方法を教えてください。

助けてください。14 歳が理解できる簡単な解決策はありますか?

4

2 に答える 2

6

入力を変数に保存し、個別に整数に変換します。

import sys

i = input("Please enter the exam mark out of 100 ")
try:
    mark = int(i)
except ValueError:
    print('\nYou did not enter a valid integer')
    sys.exit(0)
if mark < 60:
    print("\nFail")
elif mark < 101:
    print("\nPass")
else:
    print("\nThe mark is out of range")

失敗した場合 (つまり、 が表示された場合ValueError)、メッセージを出力して終了します。int()入力として有効な整数が必要であることを (14 歳に) 説明できます。それ以外の場合は が発生しValueErrorます。整数を含む文字列のみが で変換できるため、これは理にかなっていますint()

于 2012-07-11T12:46:10.493 に答える
4
try:
   mark = int(input("Please enter the exam mark out of 100 "))
except ValueError:
   print("\nPlease only use integers")
于 2012-07-11T12:44:59.497 に答える