我用的是斯克里布勒机器人。
在Myro库中,似乎没有一个函数可以让机器人在用户指定的半径范围内圆圈移动。
以下是我收集到的
机器人的左右轮之间的距离是6英寸。
所以左轮应该以2(pi)(radius+6)的距离行驶。
右轮的行驶距离为2(pi) (半径-6)。
(我想)
把机器人在一个圆圈里移动是相当简单的。我只需要使用motors函数并调用
motors(1, 0) 意思是左轮移动,右轮停止,有效地在一个圆圈中移动。
我的问题是为这个圆指定一个半径,并让它在这个半径的一个圆中移动。
这是我的密码。
#Practice for Circle
def goCircle(int radius):
pi = 3.14159265359
Left = 2(pi)(radius + 6)
Right = 2(pi)(radius - 6)
turnRight(1,radius/360.0)通常,turnRight会有这些参数turnRight(speed, time),因此您可以指定希望机器人运行的速度,以及希望它运行的秒数。我把它以1的速度,并试图通过半径/360中的时间变量。
我知道这个错误
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 4, in goCircle
TypeError: int is not callable我也尝试了motors(left, right)并得到了同样的错误
#Practice for Circle
def goCircle(radius):
pi = 3.14159265359
Left = 2(pi)(radius + 6)
Right = 2(pi)(radius - 6)
motors(left,right)我能做些什么才能让这件事成功?
发布于 2014-10-14 19:49:11
您得到了一个错误,因为您的语法。你不能用:
2(pi)(radius + 6)
您需要将*放在术语之间:
2*(pi)*(radius + 6)
解释器认为您是在绑定一个int,就像函数2()一样。
另外,如果您是import math,那么math.pi就内置了。
https://stackoverflow.com/questions/26368200
复制相似问题