我是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)作为答案吗?你知道吗
如果您希望print语句字面上说
4sqrt(2)
,那么不,编写一个函数将答案转换为根形式非常复杂,99.9%的时间不值得。你知道吗float表示您正在确保
bulma(x, y, z, t)
的类型。浮点是浮点小数。你知道吗通用编程语言不是这样工作的。它们使用能得到的最接近的内部近似值(以二进制形式存储,以十进制形式报告)。你不能得到4sqrt(2)这个比你可以得到1/3,或任何其他非标准(计算机)表示。1/3不能在十进制(0.3333…)或二进制(0.01010101…)的有限“标准”字符串中精确表示。你知道吗
确实有一些软件包可以提供低基数、有理数等的近似值,但是您需要找到并具体导入它们;语言本身并不支持它们。你知道吗
相关问题 更多 >
编程相关推荐