为什么我得到 AttributeError:'float' 对象没有属性 '3f'?

数据挖掘 Python
2022-03-03 19:57:09

我收到此错误:

AttributeError: 'float' object has no attribute '3f'

我不明白我为什么会得到它,我直接从“应用文本分析”一书中遵循示例

python中的代码块是:

total = sum(words.values())
for gender, count in words.items():
pcent = (count / total) * 100
nsents = sents[gender]
print(
"{0.3f}% {} ({} sentences)".format(pcent, gender, nsents)
)

我清楚地看到pcent会返回一个浮点数,为什么作者试图申请 .3f 我错过了什么?

2个回答

试试这个,

  print(
"{:.3f}% {} ({} sentences)".format(pcent, gender, nsents)
)

有关更多示例,请参阅最新文档并检查 Py 版本!

您也可以使用{:.3%}代替{:.3f}%.

它会自动将值转换为百分比。这意味着"{:.3%}".format(0.3)将打印"30%",而您也必须写"{:.3f}%".format(0.3 * 100)才能获得"30%"