目前,我正在处理一项任务,该任务要求我创建一个程序,用户在该程序中输入一个 0-4 之间的数字。然后程序会检查用户输入的数字并输出特定的字符串。比如用户输入4,程序会输出“80或以上:Level 4”
问题是用户也应该能够退出程序。我决定创建程序,所以如果用户输入的内容不是空白的(当输入!=“”:) 程序将运行,但如果他们决定点击进入程序将结束。
这是我到目前为止提出的代码:
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() 运算符来解决这个问题。问题是如果用户输入空白,它会与输入冲突,因为它会检查输入是否为整数。反正就是这样。
所以我希望有人能指导我找到解决这个问题的方法。将不胜感激!