python - 如何根据用户输入操作具有类变量属性的数字输出
问题描述
我正在根据 Ramanujan 公式计算 pi 的位数,并且我允许用户控制求和的迭代次数。我希望根据所需的迭代次数更改小数位数。
据我所知,Python 不允许数值输出改变:
结果 = 3.14159...
a = 50
b = 48
print('result = %a.bf' % result')
但是基于迭代次数,pi 火箭的精度,但对于少量迭代(1、2、...),不需要很多小数位。
我想要发生的事情如下:
while True:
k = int(input("How many iterations do you want? "))
num_digits = k * 10
a = num_digits
b = num_digits - 2
result = calculate_pi(k)
print('result = %a.bf' % result')
.
.
.
我知道这不是 Python 的数字格式的工作方式,但我不知道如何将我想要用英语发生的事情翻译成脚本。
解决方案
python3.6+:
print(f'result = %{a}.{b}f' % result)
较旧的蟒蛇:
print(('result = %%%d.%df' % (a, b)) % result) # %% is used to escape '%'
print('results = %{}.{}f'.format(a, b) % a)
在这两种情况下,我们的想法是首先使用您想要的正确占位符 ( %X.Yf
) 创建一个字符串,然后在第二遍中使用它。
推荐阅读
- python - 在 Django ModelViewSet 中过滤
- c - 通过函数输出操作数组时出现 C 错误
- javascript - 如何获得手机 iphone 显示屏的可见高度
- ios - 从 Swift 或 Objective C 中用密码短语编码的 RSA 私钥字符串中检索 SecKey
- python - 排序算法思路
- python-3.x - CSV 文件的 HTTP 请求产生一串字符 - 我如何解码?
- powerbi - Power BI AR 老化桶
- python - 在 DataFrame 中计算速率
- docker - Dockerfile 中的条件 npm install ARG
- python - 通过 Python 将数据从 csv 插入到 postgreSQL 数据库