初学者技术问题:如何在while循环中排除单个数字(生成15以下非10整数)
问题分析与解决
你的代码陷入无限循环的原因是i += 1没有缩进,不在while循环的代码块内——i的值永远停留在0,始终满足i < 16 and i != 10的循环条件,所以会一直输出0。另外原代码的循环条件i <16也不符合你"小于15"的需求,会错误输出15。
修正后的while循环写法
把递增语句缩进,同时调整循环逻辑,确保跳过10但继续遍历到14:
i = 0 while i < 15: if i != 10: print(i) i += 1
更简洁的for循环写法
Python中遍历固定范围的整数,用for循环会更直观简洁:
for i in range(15): if i != 10: print(i)
一次性生成所有符合条件的整数(可选)
如果需要把结果保存为列表,用列表推导式更高效:
result = [i for i in range(15) if i != 10] print(result) # 输出: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14]
内容的提问来源于stack exchange,提问作者skrmarko
相关产品推荐
相关产品推荐

