我绝对是python的初学者。
import math
def bulma(x, y, z, t):
return math.sqrt((x ** 2) + (y ** 2) - (2 * x * y * z))
def bulucu():
x = float(input("İlk kenarı giriniz."))
y = float(input("İkinci kenarı giriniz."))
t = float(input("Aralarındaki açıyı radyan cinsinden giriniz."))
z = float(math.cos(math.radians(t)))
print(float(bulma(x, y, z, t)))
bulucu()
取得了余弦定律的代码。
我的问题是,例如,当我输入,4,4作为长度,并且以90作为它们之间的角度输入时,我应该得到4sqrt(2),而不是我得到5.65685424949238。
我知道5.65685424949238 = 4sqrt(2),也知道我在中使用了“ float” print(float(bulma(x, y, z, t)))
。
我可以得到4sqrt(2)作为答案吗?
通用编程语言不能那样工作。他们使用可以获得的最接近的内部近似值(以二进制存储,以十进制表示)。您不能为此获得4sqrt(2),而不能获得1/3或任何其他非标准(对于计算机)表示形式。1/3不能以十进制(0.3333 ...)或二进制(0.01010101 ...)的有限“标准”字符串形式精确表示。
确实存在一些软件包,可以为您提供低基数根部,有理数等的近似值,但是您需要专门查找和导入它们。语言本身并不支持它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句