python - 将数字渲染到 n 个可变位置
问题描述
尝试使用 {:.Nf} 打印渲染到输入小数位的 pi
尝试用输入的变量 n 替换变量 N。还将 N 替换为 {} 并将 n 分配给它。还将 n 替换为 {n}。
我确信答案是显而易见的,但我似乎看不到它。
from math import pi
# Example input() statement
n = int(input('Please enter an integer: '))
format_string = '{:.nf}'
# Replace this with your own print statement
print(format_string.format(pi))
期望 pi 到 n 位小数,但它正在返回:
“ValueError:格式说明符缺少精度”
我认为这意味着变量format_string
的格式不正确。
解决方案
将变量n
放入格式字符串的一种方法是使用 f-string,它是在 Python 3.6 中引入的。f-string 允许n
用它的当前值替换。但是,这需要大括号,并且您当前在代码中使用的大括号也将被解释为要替换变量。所以用双括号替换那些括号。
from math import pi
# Example input() statement
n = int(input('Please enter an integer: '))
format_string = f'{{:.{n}f}}'
# Replace this with your own print statement
print(format_string.format(pi))
当我运行它并输入值10
时,我得到了打印输出
3.1415926536
如果您运行的是 3.6 之前的 Python 版本,请告诉我,我将向您展示如何使用format
字符串的方法来获得相同的效果。
推荐阅读
- css - 关键帧中断秒数的百分比
- qt5 - Qt 中的 VTKWidget 未按预期更新
- c++ - 一次抓住两个单词/短语
- java - 从 Java ResultSet 返回值时出现问题
- javascript - 如何在div内自动向下滚动?
- java - sequencer.startRecording() 没有立即开始?Java MIDI
- error-handling - 处理 GAMS 错误:缺少后缀
- haskell - 不在范围内:类型构造函数或类“-”(以及反转列表时的其他错误)
- asp.net-core - 在 URL 末尾添加斜杠
- java - 如何使用 Java 流打印嵌套列表,其中 Object 包含对其自身的引用列表