TypeError:列表索引必须是整数,而不是浮点数(Python2)

时间:2019-02-02 20:48:18

标签: python

import math

a=[100,4,5,10,3,1]

def swap(a,b):

        temp=a

        a=b

        b=temp
for i in range(len(a),int(len(a)/2),-1):

        l=i

        print l

        print int(math.ceil(int((l)/2.0)))

        print a[int(math.ceil(int((l)/2.0)))]

        print math.ceil(a[int((l)/2.0)])

        print a[l-1]

        while(l>1 and a[l-1] < a[int(math.ceil(int((l)/2.0)))]):

                swap(a[l-1],a[int(math.ceil(int((l)/2.0)))])

                print l

                l= math.ceil(int((l))/2.0)

print a

输出:

6

3

10

10.0

1

6

Traceback (most recent call last):

File "heap.py", line 15, in <module>
while(l>1 and a[l-1] < a[int(math.ceil(int((l)/2.0)))]):

TypeError: list indices must be integers, not float

我用相同的查询检查了很多关于stackoverflow的问题, 也尝试使用// //,但错误持续存在。我正在使用 我打印和测试的int值。任何人都可以将我重定向到 类似的问题(如果此副本)或帮助我解决这个问题 错误?

0 个答案:

没有答案