结果是平方根值

过时的

我绝对是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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章