Python 引发异常后未分配变量
我正在编写一个Python程序,以便在我的计算机上为不同的编程语言创建项目。这从选择这个特定项目的语言开始,我试图以一种处理错误相当好的方式来做 到目前为止,我有这个代码Python 引发异常后未分配变量,python,python-2.7,Python,Python 2.7,我正在编写一个Python程序,以便在我的计算机上为不同的编程语言创建项目。这从选择这个特定项目的语言开始,我试图以一种处理错误相当好的方式来做 到目前为止,我有这个代码 def prompt_user(): print "Enter the number of the project you would like to create.\n" aOptions = ["1. Java", "2. C/C++", "3. Python", "4. Web"] for sO
def prompt_user():
print "Enter the number of the project you would like to create.\n"
aOptions = ["1. Java", "2. C/C++", "3. Python", "4. Web"]
for sOption in aOptions:
print sOption
try:
iOptionChosen = int(raw_input("> "))
if not(1 <= iOptionChosen <= 4):
raise ValueError
else:
return iOptionChosen
except ValueError:
print "\nInvalid value entered. Try again."
prompt_user()
print prompt_user()
def prompt_user():
打印“输入要创建的项目的编号。\n”
aooptions=[“1.Java”、“2.C/C++”、“3.Python”、“4.Web”]
对于A选项中的sOption:
印刷版
尝试:
IOPTIONSELECTED=int(原始输入(“>”)
如果不是(1在中,除了情况:
except ValueError:
print "\nInvalid value entered. Try again."
prompt_user()
您只能递归调用prompt\u user
。相反,您需要返回它给出的值:
在情况下,除
外:
except ValueError:
print "\nInvalid value entered. Try again."
prompt_user()
您只能递归调用prompt\u user
。相反,您需要返回它给出的值:
您可以考虑将<>代码> 添加到逻辑中,这样您就可以在<代码>中保留循环,直到输入有效。
user_deciding = True
while user_deciding:
try:
choice = int(raw_input("> "))
if choice in list_of_choices:
user_deciding = False
else:
raise ValueError
except ValueError:
print "Please make a valid choice."
handle_choice_made(choice)
可选地,您可以使用<代码> > 5 >选择> 0代码/>语法,但是使用一个简单地借用现有列表或字典的数据结构,而不是检查表示有效数据项的魔法范围可能是值得的。
您可以考虑将<>代码>而添加到逻辑中,这样您就可以简单地REM了。ain在的同时循环,直到输入有效
user_deciding = True
while user_deciding:
try:
choice = int(raw_input("> "))
if choice in list_of_choices:
user_deciding = False
else:
raise ValueError
except ValueError:
print "Please make a valid choice."
handle_choice_made(choice)
或者,您可以使用if 5>choice>0
语法,但可能值得使用一种数据结构,它只是借用现有列表或字典,而不是检查表示有效数据输入的神奇范围。您可能会发现有用。您可能会发现有用。我会尽快接受您的答案!不过,我还是个简单的问题,因为我对编程还不熟悉。为什么返回提示用户()和只提示用户()之间有区别重要信息?如果您不使用函数返回的值执行某些操作,它将被丢弃。在这种情况下,您希望返回该值,因此可以使用return
。在其他情况下,您可以将其存储在变量中。我将尽快接受您的答案!不过,这是一个快速的问题,因为我是编程新手。我们之间的区别是什么en返回prompt_user()并仅提示_user()重要信息?如果不使用函数返回的值执行某些操作,它将被丢弃。在这种情况下,您希望返回值,因此使用return
。在其他情况下,您可以将其存储在变量中。这是一个好主意。我需要停止使用这些幻数类型的东西。这是一个好主意。我需要停止使用这些幻数n数字型的东西。