python - 如何使用 python 模块 gmpy2 将数字的精度设置为 10 位小数
问题描述
我创建了以下一段 python 代码。它应该首先将数字的精度设置为 10 位小数,但是打印 pi 显示 3.156,它只有 3 位小数!有人请让我知道我做错了什么。
import gmpy2 as g
from ipywidgets import widgets
from IPython.display import display
button = widgets.Button(description="Click Me!")
display(button)
max_precision = g.get_max_precision()
pi = g.const_pi()
g.set_context(g.context())
def set_bits_precision(decimal_precision):
bits_precision = int(decimal_precision/g.log(2))
if (bits_precision > max_precision): bits_precision = max_precision
ctx = g.get_context()
ctx.precision = bits_precision
return
def square_root(number):
return g.sqrt(number)
def circle_perimeter(radius):
return 2*pi*radius
def on_button_clicked(x):
return square_root(x)
set_bits_precision(10)
print(pi)
button.on_click(on_button_clicked(2))
解决方案
推荐阅读
- sql-server - 无法访问 docker 内的脚本文件
- css - 在 React 中条件渲染时未正确应用 CSS 样式
- magento - 在 Magento 2 上添加 shipping_save_after 观察者时出现错误 500
- graphql - Graphql 过滤掉特定图像不显示?
- python - Python替换/删除字符串中的所有url
- c - 在 C 中操作字符串时,在非常相似的函数中出错
- tableau-api - Tableau Desktop - 尝试滚动 12 个月,滚动 12 个月应该在起点拉平
- php - 在没有 Symfony 的情况下使用 symfony 版本的树枝扩展?
- python - pywinauto 功能区菜单不返回控件标识符
- python - str[n]= "" 用于删除字符串字符