gpt4 book ai didi

Python程序卡住计算机

转载 作者:行者123 更新时间:2023-11-28 19:43:20 24 4
gpt4 key购买 nike

我已经使用 Python 编程了一段时间,并决定也教我的 friend 。我让他制作一个方法来返回一个数字的所有因数列表,他给了我一个效率有点低但看起来对我来说应该有用的脚本。然而,当运行该程序时,我和他的电脑都死机了(我有一台顶级游戏电脑,所以我认为它没有使用很多资源)。我向他展示了如何修复它,但我仍然无法确定导致问题的原因。这是代码,感谢您的宝贵时间!

def factors(numb):
facs = []
for i in range(1,int(numb // 2)):
if numb % i == 0:
facs.append(i)
for i in facs:
facs.append((numb / i))
return facs.sort()

附注它永远不会抛出错误,即使在运行一段时间后也是如此。它也在 python 3.4 中

最佳答案

你的问题在这里:

for i in facs:
facs.append((numb / i))

for 循环遍历 facs 中的每个数字,每次它都会在末尾添加一个新数字。因此,每当它靠近列表末尾一位时,列表就会变长一位。这会形成一个无限循环并慢慢吞噬你所有的内存。

编辑:解决问题

循环实际上不是必需的(排序也不是,因为该函数生成一个已经排序的列表)

def factors(numb):
facs = []
for i in range(1,int(numb // 2)):
if numb % i == 0:
facs.append(i)
return facs

应该可以正常工作。

关于Python程序卡住计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32853745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com