gpt4 book ai didi

python - 返回固定长度的值

转载 作者:行者123 更新时间:2023-12-04 02:30:55 33 4
gpt4 key购买 nike

我正在尝试使用 Newton-Raphson 方法计算数字的平方根。这部分相对简单。但是,当我想确保最终答案返回的值始终保留到小数点后 100 位时,我似乎无法让它工作。我试过 VS Code 和 Jupyter Notebooks,但似乎只能显示小数点后 17 位或 18 位。

我的代码是:

import decimal as Dec

Dec.getcontext().prec = 100

Number = 5
bStart = 1 # Start value is 1
zStart = 1 # Start value is 1 (x0)

aCount = 0 # Iteration count
yNewNum = 0 # New value of estimate (x1)
xRoot = 0 # Used to transfer values between yNewNum and zStart

while aCount < 101: # While the difference between zStart and yNewNum is greater than 0.0000001 (7 decimal places)
yNewNum = (zStart + (Number / zStart)) / 2 # x1 = (x0 + (S/x0)) / 2
zStart = yNewNum # Replace the value x0 with the value of x1
yNewNum = xRoot # Replace the value of x1 with the transfer value
xRoot = zStart # Replace the transfer value with x0
aCount += 1 # aCount iterates by 1
print()
print(aCount, ":", Dec.Decimal(zStart))
print(len(str(zStart)))
print("Newton-Raphson method = ", Dec.Decimal(zStart))
print("Length:", len(str(zStart)))

当起始值为 15 时,最后几次迭代的输出在两个平台上看起来都是这样的:

98 : 3.87298334620741702138957407441921532154083251953125

Length: 17

99 : 3.87298334620741702138957407441921532154083251953125

Length: 17

100 : 3.87298334620741702138957407441921532154083251953125

Length: 17

101 : 3.87298334620741702138957407441921532154083251953125

Length: 17

Newton-Raphson method =
3.87298334620741702138957407441921532154083251953125

Length: 17

关于如何让小数位显示 100 位小数有什么建议吗?请注意,我必须使用 Newton-Raphson 方法,因为这是一项要求。

最佳答案

在浮点运算中至少有一个变量必须初始化为 Decimal 类型。

你必须使用 Number = Dec.Decimal(5)

关于python - 返回固定长度的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64197346/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com