Python“int”对象不可在For循环上调用

用户

我知道有很多这样的问题,但我看了之后,没能解决我的问题。我还在学习Python,所以可能会发生一个简单的混淆。在

到目前为止,误差是通过构造的for循环到达的。在

        # down
        column = 2
        grid = [ 10, 10 ]
        while range > 0:
            # grab at the top
            cur = genes[((grid[1] - 1) * grid[0]) + column]
            prev = cur
            for a in range((grid[1] - 2), -1, -1):
                # start one below from the top
                cur = genes[(a * grid[0]) + column]
                genes[(a * grid[0]) + column] = prev
                prev = cur
            # now apply the change back to the top
            genes[((grid[1] - 1) * grid[0]) + column] = prev
            if get_fitness(genes, grid) > fitness:
                print("After Down")
                board = Board(genes, grid)
                board.print()
                print("-------------------")
                return
            range -= 1

按要求

^{pr2}$


已被浏览了1753次
更新日期: 2020-10-28 19:30:17
1 个回答
fefe Tyson

您将range定义为数字

while range > 0:
    ... 
    range -= 1

但你后来把它当作一个函数

^{pr2}$

range整数重命名为其他值

例如,可以执行向后For循环

for r in range(top_range, 0, -1):
    ...
评论 - 2020年9月11日 20:57

最新Python问答

推荐Python问答