首页 > 解决方案 > 遍历列表(浮点数不可下标)

问题描述

我目前正在尝试完成此代码。我不断收到“浮动”对象不可下标。我创建了一个最多 n 的随机数列表,我想使用该列表来查找这些数字的总和,同时将 j 索引为 0、2、4、6。

def summer(n):
    list1 = []
    sum = 0
    for i in range(1,n+1):#making a random number up to n in a list
        i = random()
        list1.append(i)

    for j in list1[::2]:
        sum = sum + (math.sin(j) * math.cos(j[j+1]))

    return sum

标签: python

解决方案


您正在访问j这是一个数字,就好像它是这里的列表一样:

sum = sum + (math.sin(j) * math.cos(j[j+1]))

要解决此问题,您可以:

for j in range(0,len(list1),2):
     mysum = mysum + (math.sin(list1[j]) * math.cos(list1[j+1]))

我还建议更改sum的名称,因为它是 Python 中的保留字。


推荐阅读