“TypeError:当相乘两个float列表时,无法将sequence乘以”“float”“类型的nonit。”

2024-05-16 07:22:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个很容易解决的类型错误。我研究过类似的错误,并尝试过一些解决方案,比如将两个float列表转换成数组,将乘法分解成两个for循环。但是没有用,我想把r的每个值乘以每一项的角度。所以 木器是[(0.0)的产物数学.cos(数学弧度(0.0)),(0.0)(数学.sin(数学弧度(0.01))]

import math
import numpy as np
r = [0.0,0.01,0.0,0.35,0.98,0.001,0.0]
angles = [(0.0,0.01),(0.0,0.35),(0.98,0.001),(0.0,0.0),(0.01,0.0),(0.35,0.98),(0.001,0.0)]
angles = np.asarray(angles)
xylist = []
for i in angles:
    for x in i:
        meq = [r*(math.cos(math.radians(x))), r*(math.sin(math.radians(x)))]
        xylist.append(meq)
print xylist

TypeError:无法将sequence乘以“float”类型的非int

有谁能帮一个女孩吗?也许有一些for循环的例子,用来迭代r的值?我很难想象那会是什么样子。在


Tags: inimport类型for错误np数学math
1条回答
网友
1楼 · 发布于 2024-05-16 07:22:44

r是一个列表。不能用浮点数对列表进行多重处理。您是否打算迭代这些值?使用此添加:

    cosx = math.cos(math.radians(x))
    sinx = math.sin(math.radians(x))
    meq = [(rn*cosx, rn*sinx) for rn in r]

我们得到输出:

^{pr2}$

相关问题 更多 >