Python 3.x 处理异常时获取范围内的用户输入

Python 3.x 处理异常时获取范围内的用户输入,python-3.x,Python 3.x,我试图让用户输入一个介于1和6之间的数字(包括1和6),如果他们输入的是非整数,我还要处理这个问题。下面是我的代码,但似乎无法正常工作。我已尽我所能尝试了函数中的所有异常、尝试和if-else语句,但没有成功使其工作:(请帮帮我。我有一部分是用来工作的,但当我要求他们再次输入号码时,我不知道如何正确编码,所以例外情况仍然有效。我删除了例外情况,因为它们都不起作用。提前谢谢 user_choice = int(input("Enter your choice: ")) if user_choic

我试图让用户输入一个介于1和6之间的数字(包括1和6),如果他们输入的是非整数,我还要处理这个问题。下面是我的代码,但似乎无法正常工作。我已尽我所能尝试了函数中的所有异常、尝试和if-else语句,但没有成功使其工作:(请帮帮我。我有一部分是用来工作的,但当我要求他们再次输入号码时,我不知道如何正确编码,所以例外情况仍然有效。我删除了例外情况,因为它们都不起作用。提前谢谢

user_choice = int(input("Enter your choice: "))

if user_choice <= 6 and user_choice >= 1:
    return user_choice

else:
    print("Invalid menu option.")
    user_choice = int(input("Please try again: "))
    return user_choice
user\u choice=int(输入(“输入您的选择”))
如果用户选择=1:
返回用户选择
其他:
打印(“无效的菜单选项”)
user\u choice=int(输入(“请重试:”)
返回用户选择
user\u choice=input(“输入您的选择:”)
尝试:
user\u int=int(用户选择)
除ValueError为e外:
#用户没有输入整数!
打印(“请输入整数下一次”)
如果用户选择=1:
打印(用户选择)
这应该说明try/except子句。

user\u choice=input(“输入您的选择:”)
尝试:
user\u int=int(用户选择)
除ValueError为e外:
#用户没有输入整数!
打印(“请输入整数下一次”)
如果用户选择=1:
打印(用户选择)

这应该说明try/except子句。

您将用户的选择返回给什么?Return用于从函数返回某些内容,而不是尝试打印。对于另一个函数,我知道代码可以工作,只是它不处理它需要的异常,例如,如果用户以字母形式输入,它还需要再次询问。如果我输入k它只是给出了一个python错误。我需要它说菜单选项无效,并要求用户再试一次。您将用户的选择返回给什么?返回用于从函数返回某些内容-改为尝试打印。对于另一个函数,我知道代码可以工作,只是它不处理它需要的异常,例如,如果用户输入一封信,它也需要再次询问。如果我输入k,它只会给出一个python错误。我需要它说菜单选项无效,并要求用户重试。OP想要尝试/除了一个ValueError哦,是的,我修改了它。谢谢你安德鲁,当给出它的人没有正确阅读我的问题时,得到-1不是件好事……。谢谢你Danielle。希望我有道理!这是可行的,但我需要它在不重新运行程序的情况下反复询问。再次感谢字符串何时等于整数?OP想尝试/除了一个值错误哦,是的,我修改了它。谢谢你安德鲁,当给出它的人没有正确阅读我的问题时得到-1并不好……。谢谢你Danielle。希望我得到了恩!这很有效,但我需要它反复询问,而不需要重新运行程序。再次感谢字符串何时等于整数?
user_choice = input("Enter your choice: ")

try:
    user_int = int(user_choice)
except ValueError as e:
    # user didn't enter an integer!
    print("Please enter an integernext time")

if user_choice <= 6 and user_choice >= 1:
    print(user_choice)