現在、ユーザーが 0 ~ 4 の数字を入力するプログラムを作成する必要がある課題に取り組んでいます。次に、プログラムは、ユーザーがどの番号を入力し、特定の文字列を出力するかをチェックします。たとえば、ユーザーが 4 を入力すると、プログラムは「80 以上: レベル 4」を出力します。
問題は、ユーザーがプログラムを終了できる必要があることです。プログラムを作成することにしたので、ユーザーが空白ではないものを入力すると (input != "":) プログラムが実行されますが、Enter キーを押すとプログラムが終了します。
これは私がこれまでに思いついたコードです:
def get_level():
level = raw_input("Enter a number from 0-4 (Press <Enter> to quit): ")
return level
def check_mark(level):
if int(level) == 4:
print "80 or above: Level 4"
elif int(level) == 3:
print "70 - 79: Level 3"
elif int(level) == 2:
print "60 - 69: Level 2"
elif int(level) == 1:
print "50 - 59: Level 1"
elif int(level) == 0:
print "Below 50: Level 0"
else:
print "ERROR: out of range"
def output(level):
while level != "":
level = raw_input("Enter a number from 0-4 (Press <Enter> to quit): ")
check_mark(level)
print
def main():
user_level = get_level()
user_mark = check_mark(user_level)
print
program_output = output(user_level)
main()
この問題は、raw_input が "while level != "":" ステートメントをアクティブにする文字列のみを受け入れるという事実に関係していることをよく知っています。各レベルの前に int() 演算子を配置して、これを回避しようとしました。問題は、入力が整数かどうかをチェックするため、ユーザーが空白を入力すると入力と競合することです。とにかくそのような何か。
だから私は誰かがこれを回避する方法を見つけるために私を導くことができることを望んでいました. それは大歓迎です!