Python质因数分解函数无输出问题排查求助
质因数分解代码无输出问题排查
你的这段获取质因数的Python代码逻辑本身是正确的,能正常完成质因数分解工作。之所以在IDLE Shell、终端及VSCode中直接运行无输出,核心原因是:你仅定义了函数,但没有编写调用函数并输出结果的代码。
Python解释器执行脚本时,只会执行顶层的可执行代码。如果脚本里只有函数定义,解释器只会加载这个函数到内存,不会主动调用它,自然不会产生输出。而你的测试脚本应该是补充了函数调用和打印的逻辑,所以能正常输出结果。
解决方法
在代码末尾添加函数调用和打印语句即可,示例如下:
def get_prime_factors(N): factors = list() divisor = 2 while (divisor <= N): if (N % divisor) == 0: factors.append(divisor) N = N//divisor else: divisor += 1 return factors # 调用函数并打印结果,替换括号里的数字为你需要测试的数值 print(get_prime_factors(36))
运行修改后的代码,就能在对应环境中看到质因数分解的结果了。
代码验证
测试几个典型输入,结果符合预期:
- 输入
12,返回[2, 2, 3] - 输入
17(质数),返回[17] - 输入
45,返回[3, 3, 5]
内容的提问来源于stack exchange,提问作者Aymane El Bernoussi
相关产品推荐
相关产品推荐

