我正在尝试使用 PI 从传感器读取数据,并计算幅度以确定加速度,但是当我运行测试程序时,我总是收到以下错误
Time elasped: 0
Traceback (most recent call last):
File "MMA7455.py", line 47, in <module>
print("X = ", x2)
NameError: name 'x2' is not defined
这是我一直在使用的代码
def calculateMag():
x = MMA7455.getValueX()
x2 = ((x + 128) % 256) -128
y = MMA7455.getValueY()
y2 = ((y - 240 + 128) % 256) -128
z = MMA7455.getValueZ()
z2 = ((z - 64 + 128) % 256) -128
magnitude = int(math.sqrt((x2*x2) + (y2*y2) + (z2*z2)))
return x2, y2, z2, magnitude
for i in range (1000):
timeGo()
calculateMag()
print("X = ", x2)
print("Y = ", y2)
print("Z = ", z2)
我尝试将 x、y、z 传递到函数中,但这似乎不起作用。感谢您的帮助,我们将不胜感激。
当您从函数返回值时,您在函数内赋予它们的变量名称不一定仍然存在于该函数之外。在您的情况下,当您调用
calculateMag()
时,返回值不会去任何地方。试试这个:
x2,y2,z2,magnitude = calculateMag()
print("X = ", x2)
print("Y = ", y2)
print("Z = ", z2)