TypeError: объект 'int' не повторяется (начинающий кодер)

Мне нужна помощь с этим:

structureRegion = box
blocks = 0
for x in xrange(structureRegion.minx,structureRegion.maxx):
    for y in xrange(structureRegion.miny,structureRegion.maxy):
        for z in xrange(structureRegion.minz,structureRegion.maxz):
            if blockAt(x, y, z, level) != 0 or air:
                blocks = blocks + 1
for block in blocks:
    for x in xrange(structureRegion.minx,structureRegion.maxx):
        for y in xrange(structureRegion.miny,structureRegion.maxy):
            for z in xrange(structureRegion.minz,structureRegion.maxz):
                coords2 = []
                coords2.append((x,y,z))
                part1 = ''.join(coords)
                part2 = ''.join(coords2)

Когда я использую это, я получаю ошибку выше в заголовке.

Я просто хотел пройти через каждый блок, пока не осталось больше, и повторить код.

Спасибо

(Кстати, для Minecraft и для фильтра MCEdit)

2 ответа

Решение
[...]
for block in xrange(blocks):
[...]

Короче (и с некоторыми другими исправленными ошибками):

coords2 = []

for x in xrange(box.minx,box.maxx):
    for y in xrange(box.miny,box.maxy):
        for z in xrange(box.minz,box.maxz):
            if blockAt(x, y, z, level) != 0:
                coords2.append((x,y,z))

part1 = ''.join(coords)
part2 = ''.join(coords2)

blocks целое число, но строка for block in blocks: пытается обработать его так, как если бы он был повторяемым (список, множество, кортеж и т. д.), а это не так, поэтому возникает ошибка.

Другие вопросы по тегам