Эта ошибка связана с тем, что у вас есть 2 определения для a
.
a = [(285.316954889, 92.7050983125),(242.705098312,176.335575688),(176.335575688, 242.705098312),(92.7050983125,285.316954889),(0.0, 300.0),(-92.7050983125, 285.316954889),(-176.335575688, 242.705098312),(-242.705098312, 176.335575688),(-285.316954889, 92.7050983125),(-300.0, 0.0),(-285.316954889,-92.7050983125),(-242.705098312, -176.335575688),(-176.335575688,-242.705098312),(-92.7050983125, -285.316954889),(0.0, -300.0),(92.7050983125, -285.316954889),(176.335575688, -242.705098312),(242.705098312, -176.335575688),(285.316954889, -92.7050983125),(300.0, 0.0)]
y = 0
for x in a:
for a in range(20): <----- a is an integer
t.goto(a[y])
t.goto(0,0)
y = y + 1
a
начинается как список, но во втором цикле for становится целым числом. Строка t.goto(a[y])
пытается получить доступ к переменной integer a
. Чтобы это исправить, просто переименуйте второй a
следующим образом:
a = [(285.316954889, 92.7050983125),(242.705098312,176.335575688),(176.335575688, 242.705098312),(92.7050983125,285.316954889),(0.0, 300.0),(-92.7050983125, 285.316954889),(-176.335575688, 242.705098312),(-242.705098312, 176.335575688),(-285.316954889, 92.7050983125),(-300.0, 0.0),(-285.316954889,-92.7050983125),(-242.705098312, -176.335575688),(-176.335575688,-242.705098312),(-92.7050983125, -285.316954889),(0.0, -300.0),(92.7050983125, -285.316954889),(176.335575688, -242.705098312),(242.705098312, -176.335575688),(285.316954889, -92.7050983125),(300.0, 0.0)]
y = 0
for x in a:
for b in range(20): <---- note the use of b
t.goto(a[y])
t.goto(0,0)
y = y + 1