繁体   English   中英

TypeError:+不支持的操作数类型:“ int”和“ tuple”

[英]TypeError: unsupported operand type(s) for +: 'int' and 'tuple'

我正在尝试获取每个时间值的矢量和度的值,但我陷入了这个错误:

TypeError:+不支持的操作数类型:“ int”和“ tuple”

如果我遵循跟踪,我将得到x = -0,3 *(t ** 2)+(7,2 * t)+28,但那怎么会是int =元组呢?

追溯:

Traceback (most recent call last):
  File "testgraph.py", line 53, in <module>
    vector, degrees = vector_position(t)
  File "testgraph.py", line 14, in vector_position
    x = function_positionX(t)
  File "testgraph.py", line 5, in function_positionX
    x = -0,3*(t**2)+(7,2*t)+28 

码:

import numpy as np
import math

def function_positionX(t):
    x = -0,3*(t**2)+(7,2*t)+28
    return x

def function_positionY(t):
    y = 0,22*(t**2)-(9,1*t)+30
    return y

def vector_position(t):
    x = function_positionX(t)
    y = function_positionY(t)
    v = math.sqrt((x**2)+(y**2))
    d = np.arctan2(y/x)
    return v,d

def function_speedX(t):
    x = -0,62*t+7,2
    return x

def function_speedY(t):
    y = 0,44*t-9,1
    return y

def vector_speed(t):
    x = function_speedX(t)
    y = function_speedY(t)
    v = math.sqrt((x**2)+(y**2))
    d = np.arctan2(y/x)
    return v,d

def function_accelX():
    a = -0,62
    return a

def function_accelY():
    a = 0,44
    return a

def vector_accel(t):
    x = function_accelX()
    y = function_accelY()
    v = math.sqrt((x**2)+(y**2))
    d = np.arctan2(y/x)
    return v,d


for t in range(0,15):
    print("For time: ", t)
    vector, degrees = vector_position(t)
    print(vector,degrees)
    vector, degrees = vector_speed(t)
    print(vector,degrees)
    vector, degrees = vector_accel(t)
    print(vector,degrees)

我不是专家,但是当您写0,3时,是0.3吗? 我们通常不使用逗号在小数点前!

这就是我认为为什么收到上述错误的原因,因此请将逗号更改为点,然后重试。

尝试花一些时间来熟悉python本身和编程,然后再研究更高级的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM