首页 > 解决方案 > TypeError: 不支持的操作数类型 -: 'str' 和 'float'

问题描述

我试图在存储在位置中的位置绘制 flag1,但是它们的值不存储为整数或浮点数,并且我收到以下错误:

    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)

标签: pythonpython-3.xturtle-graphics

解决方案


推荐阅读