Python for循环:“列表索引超出范围”错误? |
您所在的位置:网站首页 › 列表的索引超出了范围galgame › Python for循环:“列表索引超出范围”错误? |
我有一个代码,基于项目Euler的问题3:"13195的主要因素是5、7、13和29。数字600851475143的最大主因子是什么?" 我在下面有一个我认为可以用的代码,但是第9行(for k in range(2,res[j]):行)不断返回错误:"index error:list index out of range"。当我在for循环中移动时,似乎没有修改列表,所以我不确定出了什么问题。 12345678910111213141516def find_primes(num): res = [] print(num) for i in range(2,num): if num%i==0: res.append(i) for j in res: for k in range(2,res[j]): if res[j]%k==0: res[j]=False list(filter((False).__ne__, res)) m = max(res) return(m)有人知道我哪里出错了吗? 谢谢您! 相关讨论 您的代码没有正确的缩进。请更正,以便我们能帮助您! 因为res[j]转到res中的j第项,而res的数字大于它的长度。 您应该回顾一个关于循环结构的教程。 @好的,谢谢! (False).__ne__…你想做什么?因为这不是办法你可能想这样做: 12for j in range(len(res)): for k in range(2,res[j]):使用for j in res将迭代res元素。 相关讨论 你是说for j in range(len(res)):。 你说得对,我没在想。非常感谢你的帮助! @坦纳比我的坏,编辑 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |