Python为else:statement抛出语法错误

Python为else:statement抛出语法错误,python,if-statement,syntax-error,Python,If Statement,Syntax Error,我得到了这个错误——我检查了又检查了压痕,但仍然不起作用 def ask(): while True: try: num = int(input("Enter an integer:")) except: print('Not a number, please try again') continue else: print('T

我得到了这个错误——我检查了又检查了压痕,但仍然不起作用

def ask():
    while True:
        try:
            num = int(input("Enter an integer:"))
        except:  
            print('Not a number, please try again')
        continue
        else:
            print('Thats a valid number!')
            break
        finally:
            print('All done')
文件“”,第8行
其他:
^
SyntaxError:无效语法

此处不需要您的else语句:)请尝试以下操作:

File "<ipython-input-46-ff8c841c59c4>", line 8
    else:
       ^
SyntaxError: invalid syntax
你的语法错了

def ask(): 
    while True: 
        try: 
            num = int(input("Enter an integer:")) 
            print('Thats a valid number!') 
            break 
        except:
            print('Not a number, please try again') 
            continue 
        finally: 
            print('All done')

再次检查缩进<代码>其他在
继续
之后无效。顺便说一句,欢迎使用SO!看看这本书。将来,您需要提供一个。在这种情况下,函数和循环与问题无关,因此消除它将有助于使问题对您和我们更加明显。顺便说一句,a。使用您期望的特定异常,
ValueError
。这不是必需的,但更好的做法是在
try
语句中放入尽可能少的异常。此外,这并没有说明是什么导致了语法错误。这将有助于解释它是如何错误的,以及您修复了什么。我注意到您还添加了除ValueError之外的
,这肯定需要解释,因为这不是问题的一部分。如果愿意,可以使用此代码段:
a[bare`except`是一种坏习惯](https://stackoverflow.com/q/54948548/4518341). 使用预期的特定异常“ValueError”。
def ask(): 
    while True: 
        try: 
            num = int(input("Enter an integer:")) 
        except ValueError:
            print('Not a number, please try again') 
            continue 
        except: 
            print('Thats a valid number!') 
            break 
        finally: 
            print('All done')