Python If else在try/except块中编码帮助
我理解您可以插入的try块,并编写代码尝试查看出现了什么错误,然后except块可以捕获错误。我正在尝试找出在try和except块中插入if/else的最佳方法,以处理此代码中存在的同一个键错误。我想我可以用If/else替换try和except,或者可以在try和except中添加If/else。对于如何将if/else插入此代码中的关键错误,我们将不胜感激。因此,基本上我想为同一个键错误在try和except块中添加if/else代码Python If else在try/except块中编码帮助,python,python-2.7,Python,Python 2.7,我理解您可以插入的try块,并编写代码尝试查看出现了什么错误,然后except块可以捕获错误。我正在尝试找出在try和except块中插入if/else的最佳方法,以处理此代码中存在的同一个键错误。我想我可以用If/else替换try和except,或者可以在try和except中添加If/else。对于如何将if/else插入此代码中的关键错误,我们将不胜感激。因此,基本上我想为同一个键错误在try和except块中添加if/else代码 SomeDict = {'Sarah':20, 'Ma
SomeDict = {'Sarah':20, 'Mark': 'hello', 'Jackie': 'bye'}
try:
result = ""
theKey = raw_input("Enter some key: ")
val = someDict[theKey]
except keyErrorr:
result "hello"
else:
result = result + "" + "done"
print result
一个合理的选择是初始化
result=None
,然后测试,如果结果为None:
与空字符串相比,最好使用None,因为有一天您可能希望字典值是空字符串,而且对于代码的普通读者来说,没有一个更清楚
您也可以跳过try-except,如果在someDict:中键入,则使用
,您可以添加另一个except,而无需说明它应该处理什么异常
SomeDict = {'Sarah':20, 'Mark': 'hello', 'Jackie': 'bye'}
try:
result = "" #could i insert something like if result == "" : #for this line?
theKey = raw_input("Enter some key: ")
val = someDict[theKey]
except keyErrorr:
result "hello"
else:
result = result + "" + "done"
print result
这对您有用吗?您的代码有语法错误。except
和else
行需要与try
行处于相同的缩进级别。异常名称是keyrerror
,末尾是K和一个r,另外,result=“hello”
我不知道您要做什么,但是我认为你需要复习基础知识。限制try
块只包括你访问字典的那一行
try:
# do something
except KeyError:
# do something because of the Keyerror
except:
# do what you need to do if the exception is not a KeyError
someDict = {'Sarah':20, 'Mark': 'hello', 'Jackie': 'bye'} # corrected dict name
result = ""
theKey = raw_input("Enter some key: ")
try: # just try the code where the error could be
val = someDict[theKey]
except KeyError: # corrected exception name and indent level
result = "hello" # corrected syntax
else: # corrected indent level
result = result + "" + "done" # why add "" ?
print result