파이썬에서 실수를 근사 정밀도 10^-3으로 근사하는 프로그램을 작성하려고합니다. 여기 내가 한 일이 있습니다. 나는 무엇이 잘못되었는지를 모릅니다. 누군가 나를 도울 수 있습니까? "시계 추가"를 사용합니다. 누군가가 저에게 뭐가 잘못 됐는지 말해 줄 수 있습니까? 미리 감사드립니다.파이썬에서 분수로 실수를 근사하는 것
from math import *
def restriction(x,a,b,c,d):
if x<(a+b)/(c+d):
return [x,a,b,a+c,b+d]
if x>(a+b)/(c+d):
return [x,a+c,b+d,c,d]
def cancres(x,a,b,c,d,prec):
if x==a/b or x==c/d:
return x
elif x<a/b or x>c/d:
return False
else:
w=restriction(x,a,b,c,d)
i=0
if (w[3]/w[4]-w[2]/w[1])>prec:
w=restriction(x,w[1],w[2],w[3],w[4])
print w
i+=1
return w
print cancres(sqrt(3),3,2,2,1,10^(-3))
음, ** 무엇이 잘못 되었나요? –
^멱승을하지 않습니다. 10^(- 3)을 10 ** (- 3)으로 바꾸십시오. – casevh
분수를 찾지 못할 것입니다. 계산에 형식 오류가있을 수 있다고 생각합니다. – Asinus