PyCharm无法运行求数字因数的Python代码问题求助
你的因数查找代码运行失败的原因及修复方案
你的代码存在两个关键问题,导致PyCharm无法正常运行:
- 缩进错误:
while语句前多了不必要的缩进,Python对代码缩进要求严格,这种错误会触发IndentationError。 - 逻辑死循环:
fac += 1被放在if判断的代码块内部,当当前fac不是输入数字的因数时,fac不会递增,导致while循环永远无法终止。
修复后的代码如下:
n = int(input("Enter a number : ")) a = [1, n] fac = 2 while fac <= n/2: if n % fac == 0: a.append(fac) fac += 1 # 将递增语句移到if外部,确保每次循环都能推进fac的值 print(a)
如果需要输出排序后的因数列表,可以在print(a)前添加a.sort(),这样输出结果会更规整。
内容的提问来源于stack exchange,提问作者Hootch Gaming
相关产品推荐
相关产品推荐

