我试图创建一个非常简单的菜单系统,使用所有python工具(try and except语句、循环、if语句),但我遇到了一点麻烦。在
这是我现在收到的代码和错误消息
def Menu():
while True:
print("""
Hello, please enter a number 1 - 4
1 - Compliment
2 - Fact
3 - Insult
4 - Quit
""")
try:
UserInput_INT = int(input("> "))
except ValueError:
UserInput_STR = (UserInput_INT)
if len(UserInput_STR) == 0:
print("You have entered nothing. Please enter a number between 1 and 4")
print("You entered a character. Please enter a number between 1 and 4")
Menu()
if UserInput_INT not in range (1, 5):
print("Invalid input please enter a whole number between 1 and 4")
continue
UserInput_STR = (str(UserInput_INT))
if UserInput_STR == '1':
print(" You look horrible today!")
elif UserInput_STR == '2':
print("Sam Birkenshaw & Jordan Ives can code better than Mr Bath. ")
elif UserInput_STR == '3':
print("You are bad at coding ")
elif UserInput_STR == '4':
quit()
菜单()
错误消息:
“回溯(最近的呼叫最后一次): 文件“E:/全部/学校作业/计算机科学/代码/山姆损坏”代码.py“,第12行,在菜单中 UserInput_INT=INT(输入(“>;”) ValueError:基为10的int()的文本无效:“”
在处理上述异常时,发生了另一个异常:
回溯(最近一次呼叫): 文件“E:/全部/学校作业/计算机科学/代码/山姆损坏”代码.py“,第39行,英寸 菜单() 文件“E:/全部/学校作业/计算机科学/代码/山姆损坏”代码.py“,第16行,在菜单中 UserInput_STR=(UserInput_INT) UnboundLocalError:赋值之前引用了局部变量'UserInput'u INT'”
我需要这样做,如果用户什么都不输入,有一个不同的消息显示,如果他们输入了一个字母,如果他们输入了其他东西,而不是一个接受的答案。在
(我目前正在运行python3.6.2)
作为输入传递给程序的值不是有效的整数。现在,当引发异常时,没有为变量
UserInput_INT
赋值,从而导致第二个错误。在尝试强制转换之前,请尝试检查该值是否为整数。在作为补充说明,请尝试遵循命名约定。在
相关问题 更多 >
编程相关推荐