Я пытаюсь создать программу, в которой, если я введу степень, она преобразует ее в радианы, а затем вычисляет ее синус, косинус и тангенс, используя теорию Тейлора. Обратите внимание, что я не должен вызывать математический модуль.
def sinAns(rad):
rad=rad
radPlaceHolder=rad
counter=0
numberForFacto=1
tOld=rad
tNew=0
tPlaceHolder=rad
pr=precision+1
tDiff=1
sinAns=0
while abs(tDiff)>.5*10**(-pr):
tOld=tPlaceHolder
tNew=(-1*tOld*rad*rad)/((numberForFacto+1)*(numberForFacto+2))
tPlaceHolder=tNew
counter+=1
numberForFacto+=2
tDiff=abs(tOld)-abs(tNew)
radPlaceHolder+=tNew
sinAns=radPlaceHolder
return sinAns
Так выглядит мой код для вычисления синуса.
print("{0:}{1:{2}f}".format("sin= ", sinAns(rad), precision))
Это строка, в которой печатается значение позже в программе, и у меня уже есть точность по умолчанию 10. Но когда я запускаю программу, она отображает 0.500000 вместо точности, которой я хочу быть. Даже если я изменю точность на любое другое значение в диапазоне от 2 до 10, оно ВСЕГДА показывает 0,500000.
Есть идеи, как это исправить? В течение часа вертелись и до сих пор не поняли.