我目前正在创建一个包含try except
工具的菜单。我正在尝试创建它,以便用户不输入任何内容(按ENTER键)输出:
您尚未输入任何内容,请输入1到4之间的数字
这是我到目前为止所做的:
def Menu():
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")
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()
Menu()
答案 0 :(得分:1)
试试这个和你预期的输出一样。
UserInput=input("> ")
try:
UserInput_INT = int(UserInput)
所以这里我们首先输入UserInput_INT然后在try块中将它转换为整数类型。
答案 1 :(得分:0)
在语句UserInput_STR = (UserInput_INT)
[*]中,您正在访问一个您没有初始化的变量,因为int(input("> "))
失败了。这是一个较短的例子:
def f():
try:
x = 2/0
except:
print(x)
print(x)
应该做什么?变量确实是本地的,但不受约束。它没有初始化。
[*]我相信你的意思是UserInput_STR = str(UserInput_INT)
,但出于同样的原因,它不会起作用。