TypeError: неподдерживаемые типы операндов для -: 'str' и 'float' [закрыто]Python

Программы на Python
Ответить
Anonymous
 TypeError: неподдерживаемые типы операндов для -: 'str' и 'float' [закрыто]

Сообщение Anonymous »

Я пытаюсь нарисовать флаг1 в месте, хранящемся в позициях, однако их значения не сохраняются как целые числа или числа с плавающей запятой, и я получаю следующую ошибку:
return Vec2D(self[0]-other[0], self[1]-other[1])
TypeError: unsupported operand type(s) for -: 'str' and 'float'

Мне интересно, как преобразовать значения следующего списка в числа с плавающей запятой, чтобы можно было рисовать по их связям:
positions = [
[-3*HORIZONTAL, 3*VERTICAL, 'A', 7],
[3*HORIZONTAL, 3*VERTICAL, 'G', 7],
[-3*HORIZONTAL, -3*VERTICAL, 'A', 1],
[3*HORIZONTAL, -3*VERTICAL, 'G', 1]
]

occupied = [ # To store the grid occupied
[('A', 7)],
[('G', 7)],
[('A', 1)],
[('G', 1)]
]

Вызываемая функция рисования:
turtle.setpos(positions[0][:2]) #MAKE A = 1
turtle.write('ABC', align='center', font=20)
turtle.dot(20, "blue")
occupied[0].append((positions[0][2], positions[0][3]))
flag1((positions[0][2], positions[0][3]))

Функция рисования:
def flag1(x,y):
penup()
color("black")
fillcolor("white")
seth(90)

bg_blue = ('blue')
bg_red = ('red')

goto(x, y)
fillcolor("white")
seth(90)
begin_fill()
forward(90 - 4)
right(90)
forward(120 - 4)
right(90)
forward(90 - 4)
right(90)
forward(120 - 4)
right(90)
end_fill()
goto(x, y)


Подробнее здесь: https://stackoverflow.com/questions/637 ... -and-float
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»