5

我在使用一些 python 代码(简单的东西)时遇到了一些麻烦。它已经到了我希望如果我点击运行足够多次它可能会起作用的地步......

这是代码:

Data = [1, 2, 3, 4, 5]
Frequency = [1, 2, 3, 3, 1]

def mode(data1, frequency1):
    mode = [0]
    count = 0
    while count != len(frequency1):
        if frequency1[count] > mode[0]:
            mode = data1[count]
        elif frequency1[count] == mode:
           mode = [mode, data1[count]]
        count +=1
    return mode

mode = mode(Data, Frequency)
print(mode)

它返回:

 if Frequency[0] > mode[0]:

 TypeError: 'int' object is not subscriptable

我看了另一个问题和答案,但它看起来超出了我的范围。我哪里错了!

编辑:我知道你可以导入一些模块来找到平均值,但我想在不导入任何东西的情况下做到这一点。

编辑:现在发布了整个代码。如果我不将模式变量设为列表,那么在有两种模式之前就可以了。

4

1 回答 1

6

查看您的int(mode[0]). 您基本上是在说,获取...零的第 0 个元素。也许您只是想丢失下标?或者改变模式的类型?

于 2013-10-22T18:53:31.323 回答