Python类型错误:int对象不可迭代

COS

我不确定从哪里得到此错误:

Traceback (most recent call last):
  File "C:/Users/Coscio/PycharmProjects/unigram/letterHist.py", line 78, in <module>
    main()
  File "C:/Users/Coscio/PycharmProjects/unigram/letterHist.py", line 74, in main
    bars(words)
  File "C:/Users/Coscio/PycharmProjects/unigram/letterHist.py", line 62, in bars
    init(words, lst)
  File "C:/Users/Coscio/PycharmProjects/unigram/letterHist.py", line 38, in init
    freqLegend(words,val, lst)
  File "C:/Users/Coscio/PycharmProjects/unigram/letterHist.py", line 54, in freqLegend
    freqLegend(words, val/1.5,  counter-1)
  File "C:/Users/Coscio/PycharmProjects/unigram/letterHist.py", line 53, in freqLegend
    back((max(lst)*1000)/10)
TypeError: 'int' object is not iterable

我认为它发生在我的freqLegend函数中,在该函数中,我将lst的最大值除以10,但是我现在没有迭代任何内容,而且我找不到为什么会收到此错误。

from letterFreq import *
from turtle import *


    def init(words, lst):

        val = max(lst)
        print(val)
        speed(0)
        setup (width=600, height=600, startx=0, starty=0)
        up()
        lt(180)
        forward(200)
        lt(90)
        forward(100)
        lt(90)
        down()
        forward(400)
        up()
        forward(-400)
        lt(90)
        down()
        forward(val*1000)
        up()
        back(val*1000+20)
        rt(90)
        forward(200)
        write("A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   "
              "R   S   T   U   V   W   X   Y   Z", True, align="center")
        goto(-200,-100)
        lt(90)
        forward((val*1000)/2)
        lt(90)
        forward(60)
        write("Frequency", True, align="center")
        rt(90)
        goto(-200,153)
        freqLegend(words,val, lst)

    def freqLegend(words, val, lst, counter = 10):

        if counter == 0:
            goto(-200,-100)
            return
        elif counter > 0:
            up()
            lt(90)
            down()
            forward(30)
            write(round(val, 3 ))
            back(30)
            rt(90)
            back((max(lst)*1000)/10)
            freqLegend(words, val/1.5,  counter-1)

    def bars(words):
        lstFreq = []
        for letters in letterFreq(words):
            lstFreq.append(letterFreq(words)[letters])

        lst = lstFreq
        init(words, lst)
        for i in lst:
            down()
            forward(i*1000)
            rt(90)
            forward(14)
            left(90)
            back(i*1000)

    def main():
        filename = "data/very_short.csv"
        words = readWordFile(filename)
        bars(words)
        input("enter to close")

    if __name__ == '__main__':
        main()
迈耶

您缺少的参数freqLegend,因此您得到了意想不到的行为。您只有三个参数:

freqLegend(words, val/1.5,  counter-1)

我认为你的意思

freqLegend(words, val/1.5, lst,  counter-1)

出现不可迭代的错误的原因是,max()实际上是遍历列表。由于参数counter-1是作为参数传递给函数的lst,因此在第二次调用时lst是一个int,它无法迭代查找最大值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类型错误:'int' 对象不可迭代(python 新手)

来自分类Dev

difflib,类型错误int对象不可迭代

来自分类Dev

错误:“ int”对象在Python中不可迭代

来自分类Dev

python中的“'int'对象不可迭代”错误

来自分类Dev

类型错误:'int' 对象在 Autotyper 中不可迭代

来自分类Dev

类型错误:无法解包不可迭代的 int 对象

来自分类Dev

类型错误:使用排序函数后“int”对象不可迭代(python 2.7)

来自分类Dev

类型错误:“函数”对象不可迭代“Python 3

来自分类Dev

python函数中的类型错误(int对象不可下标)

来自分类Dev

类型错误:“int”对象不可下标 - Python3

来自分类Dev

TypeError:'int'对象不可迭代-Python

来自分类Dev

TypeError:“ int”对象不可迭代;Python 2.7

来自分类Dev

'int'对象在python 3中不可迭代

来自分类Dev

错误:“ float”对象不可迭代-python

来自分类Dev

类型错误:“类型”对象不可下标+迭代为“A”而不是A

来自分类Dev

类型错误:Int对象不可调用

来自分类Dev

类型错误:“int”对象不可下标?

来自分类Dev

x范围内的错误:TypeError:“类型”对象不可迭代

来自分类Dev

类型错误:无法解包不可迭代的 bool 对象

来自分类Dev

间隙统计的optimalK错误:“int”对象不可迭代

来自分类Dev

列表()映射对象之后的Python“int对象不可迭代”

来自分类Dev

类型错误:Int对象不是可迭代错误[For循环]

来自分类Dev

Python错误:int对象不可下标

来自分类Dev

Python 3.4 TypeError:“ int”类型的参数不可迭代

来自分类Dev

“经理”对象不可迭代错误

来自分类Dev

NoneType对象不可迭代错误

来自分类Dev

pygame 对象的错误不可迭代

来自分类Dev

Python:Decorator +列表理解-TypeError:“ int”对象不可迭代

来自分类Dev

Python-无法解压缩不可迭代的int对象

Related 相关文章

  1. 1

    类型错误:'int' 对象不可迭代(python 新手)

  2. 2

    difflib,类型错误int对象不可迭代

  3. 3

    错误:“ int”对象在Python中不可迭代

  4. 4

    python中的“'int'对象不可迭代”错误

  5. 5

    类型错误:'int' 对象在 Autotyper 中不可迭代

  6. 6

    类型错误:无法解包不可迭代的 int 对象

  7. 7

    类型错误:使用排序函数后“int”对象不可迭代(python 2.7)

  8. 8

    类型错误:“函数”对象不可迭代“Python 3

  9. 9

    python函数中的类型错误(int对象不可下标)

  10. 10

    类型错误:“int”对象不可下标 - Python3

  11. 11

    TypeError:'int'对象不可迭代-Python

  12. 12

    TypeError:“ int”对象不可迭代;Python 2.7

  13. 13

    'int'对象在python 3中不可迭代

  14. 14

    错误:“ float”对象不可迭代-python

  15. 15

    类型错误:“类型”对象不可下标+迭代为“A”而不是A

  16. 16

    类型错误:Int对象不可调用

  17. 17

    类型错误:“int”对象不可下标?

  18. 18

    x范围内的错误:TypeError:“类型”对象不可迭代

  19. 19

    类型错误:无法解包不可迭代的 bool 对象

  20. 20

    间隙统计的optimalK错误:“int”对象不可迭代

  21. 21

    列表()映射对象之后的Python“int对象不可迭代”

  22. 22

    类型错误:Int对象不是可迭代错误[For循环]

  23. 23

    Python错误:int对象不可下标

  24. 24

    Python 3.4 TypeError:“ int”类型的参数不可迭代

  25. 25

    “经理”对象不可迭代错误

  26. 26

    NoneType对象不可迭代错误

  27. 27

    pygame 对象的错误不可迭代

  28. 28

    Python:Decorator +列表理解-TypeError:“ int”对象不可迭代

  29. 29

    Python-无法解压缩不可迭代的int对象

热门标签

归档