获取平方根值作为结果

2024-05-15 11:33:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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),也知道我在print(float(bulma(x, y, z, t)))中使用了“float”。你知道吗

我能得到4sqrt(2)作为答案吗?你知道吗


Tags: importinputreturndefmathsqrtfloatprint
2条回答

如果您希望print语句字面上说4sqrt(2),那么不,编写一个函数将答案转换为根形式非常复杂,99.9%的时间不值得。你知道吗

float表示您正在确保bulma(x, y, z, t)的类型。浮点是浮点小数。你知道吗

通用编程语言不是这样工作的。它们使用能得到的最接近的内部近似值(以二进制形式存储,以十进制形式报告)。你不能得到4sqrt(2)这个比你可以得到1/3,或任何其他非标准(计算机)表示。1/3不能在十进制(0.3333…)或二进制(0.01010101…)的有限“标准”字符串中精确表示。你知道吗

确实有一些软件包可以提供低基数、有理数等的近似值,但是您需要找到并具体导入它们;语言本身并不支持它们。你知道吗

相关问题 更多 >