我有一个相当基本的 python 问题,这是代码:
def LCM(nums):
i = max(nums)
var = 0
x = 0
while i>0:
for x in nums:
var = var+int(nums[x])%i
if (var == 0):
return i
i=i-1
nums
是一个列表,我认为 x
是该列表的索引,for
语句应该遍历列表中的每个值列为 nums[x]
。看起来 x
应该从 nums
的第一个元素开始,并遍历每个值,直到 nums 用完所有值。
相反,我得到 list index out of range
,我不明白这是怎么可能的。
我的 for
语法搞砸了吗?我无法理解这一点。
最佳答案
x
不是索引。 x
是 list
中的一个元素。
此外,您不需要将 if
条件括起来。
简单演示:
>>> nums = [11, 12, 13, 14, 15, 16]
>>> for x in nums:
... if x % 3 == 0:
... print x, 'is divisible by three'
... else:
... print x
...
11
12 is divisible by three
13
14
15 is divisible by three
16
关于python列表索引问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144602/