在Python的while循环中如何正确使用continue实现跳过指定内容逻辑?
问题根因
- 代码缩进不统一:Python依赖缩进来区分代码块层级,原代码中
print(num)、elif分支下的打印语句缩进和同层级代码不一致,首先会触发语法错误无法运行。 - 执行顺序错误:
print(num)写在了num == 6的判断逻辑之前,就算触发continue,数字6已经完成打印,continue无法起到跳过打印的效果。
修正后代码
num = int(input()) while int(num) > 0 : num -= 1 # 先判断是否要跳过打印 if num == 6: continue print(num) if num == 1: print("8 Numbers Printed Successfully.") break
调整说明
- 统一所有同层级代码的缩进,解决语法报错问题
- 将
num == 6的判断逻辑移到打印语句之前:当num等于6时会直接触发continue,跳过本次循环后续的打印操作,直接进入下一轮循环判断,实现跳过打印6的需求 - 输入值为8时运行效果符合预期,会依次打印7、5、4、3、2、1,最后输出成功提示
内容的提问来源于stack exchange,提问作者hello iam beginner
相关产品推荐
相关产品推荐

