def getpoints(r):
cx = 0
rt = int(r*10)
for i in range(rt*10+1):
cy = math.sqrt(r**2-cx**2) #circle formula
print(cx,cy)
x.append(cx)
y.append(cy)
cx = cx + 0.1
这是我的代码的一部分。它旨在计算圆上的图
x在开始时每次迭代都会添加0.1,但是随着它的进行,它开始得到1.6000000000000003
之类的东西作为x的输出。这会导致一个问题,例如r = 2.5和x = 2.400000000000001,然后将其加0.1并尝试对r ^ 2-x ^ 2求平方,但是x大于r,即使它不应该
x代表cx
我尝试过math.fabs()
,但对我来说似乎可行,但没有成功。
我该如何解决。它只需要精确到小数点后0位,而不是sqrt负数
我觉得我在这里很蠢