Python while循环中出现'break' outside loop语法错误问题咨询
报错原因说明
break是Python中用于强制终止循环的关键字,语法规定它只能直接写在for或while循环的代码块内部,不能出现在循环对应的else分支中。- 你代码里的
break写在了while循环配对的else代码块中,这个位置不属于while循环的执行体范围,不符合语法要求,所以会抛出语法错误。
补充while...else...的执行逻辑帮你理解为什么这里不需要写break:
当
while循环的判断条件不成立、自然结束运行时,才会执行else块的代码;如果循环是被break强制打断退出的,不会执行else块的内容。
你写的else块触发时,while循环已经正常结束了,完全不需要额外用break退出,删除这个多余的break即可解决语法问题。
还有一处隐藏问题:你代码中sum变量没有提前初始化,修复语法错误后运行还会触发变量未定义的报错,在代码开头加一行sum = 0即可。
修正后的可运行代码如下:
sum = 0 entered_number = 1 while entered_number >= 0: entered_number = int(input("Number to add :")) sum += entered_number print("Entered number :", entered_number, "\nSum up til now:", sum) else: print("The Final sum is :", sum)
内容的提问来源于stack exchange,提问作者m3.b
相关产品推荐
相关产品推荐

