numbers = list(range(100,1000))
possnum = list()
i = 0
multby = 1
while i <= len(numbers):
possible = numbers[i] * numbers[i + multby]
possnum.append(possible)
if multby == 899 - i:
multby = 1
i = i + 1
else:
multby = multby + 1
print(possnum)
我想让范围内的所有数字相乘一次。我一直在这条线上出错:
possible = numbers[i] * numbers[i + multby]
索引器错误:列表索引超出范围
我不明白我做错了什么——谢谢!你知道吗
我想你是想这么做
迭代每个元素的方法是错误的,请在每次迭代时检查索引
除非你把所有元素都从你的问题列表中删除,否则{cd2}。他说
为了实现最终目标,您应该利用
itertools
模块来枚举列表中的所有组合。他说如果不想使用
itertools
,那么遍历列表的标准方法是使用for ... in ...:
构造,而不是按索引引用。如果需要列表中所有项对的组合,则应使用嵌套循环:很明显,
i + multby
的值大于数组的最大索引。他说如果需要进一步的证据,请在while循环的顶部打印
i + multby
的值。你知道吗相关问题 更多 >
编程相关推荐