Python新手求助:如何退出嵌套while循环而非仅内层循环?
解决嵌套while循环同时退出两层的问题
你的代码里有两个关键问题导致没法同时退出两层循环:
- 内层是
while True死循环,哪怕把plus设为False,内层循环也不会自己终止,必须手动加break退出内层,外层循环才会在下一次条件判断时停止。 - 你写的
print=("Oh merci mon ami ! Je n'avais pas l'intention de le faire de toute façon.")是语法错误——这是把print函数当成变量赋值成字符串了,之后再调用print会直接报错,得改成正常的print("...")函数调用。
我把你的法语提示翻译成了中文,同时修正了代码问题:
plus = True while plus: plusChiffres = input("您的运算还需要更多数字吗?需要请输入“是”,不需要请输入“不用了,谢谢”:") # 更多数字逻辑 if plusChiffres == "是": chiffreTrois = float(input("请输入第三个数字!:")) while True: plusChiffresBLAGUE = input("您的运算还需要更多数字吗?需要请输入“是”,不需要请输入“不用了,谢谢”:") if plusChiffresBLAGUE == "是": print("你太离谱了!这个简单小程序不会再加数字了!") quit() elif plusChiffresBLAGUE == "不用了,谢谢": print("哦,谢谢朋友!我本来也没打算加的。") plus = False break # 退出内层循环,让外层循环检测plus的状态 elif plusChiffres == "不用了,谢谢": plus = False # 处理外层直接输入退出的情况
核心修正说明:
- 在输入“不用了,谢谢”的分支里,设置
plus=False后必须加break跳出内层死循环,这样外层循环才能走到条件判断步骤,发现plus已为False,从而终止。 - 修复了print的赋值错误,避免后续调用异常。
- 补上了外层循环直接输入退出的处理逻辑,覆盖所有场景。
内容的提问来源于stack exchange,提问作者Avril
相关产品推荐
相关产品推荐

