将小数打印为百分比



我是编码新手,不知道如何使用for循环将小数列表转换为百分比。这就是我所拥有的,这就是我犯的错误。

使用创建一个名为q_growth_rates的列表列表理解(首选(或for循环
使用for循环打印每个增长率,如下所示

q_growth_rates = []
q_growth_rates = [-0.2, -0.1, 0.0, 0.09999999999999998, 0.2]
print(q_growth_rates)

我得到一个错误代码,上面写着";TypeError:传递到列表的格式字符串不受支持格式";对于以下

您需要使用f字符串进行格式化
请确保所有小数如下图所示对齐,并且末尾有一个百分号

growth = [ str(round(x*100,1))+"%" for x in q_growth_rates]
print(f"{growth= :6,.2}")

答案如下,但我必须对前面的步骤进行编码。

growth=-20.00%
growth=-10.00%
growth=  0.00%
growth= 10.00%
growth= 20.00%

这应该有效:

q_growth_rates = []
q_growth_rates = [-0.2, -0.1, 0.0, 0.09999999999999998, 0.2]
print(q_growth_rates)
growth = [ str(round(x*100,1))+"%" for x in q_growth_rates]
for i in growth:
print(f"growth={i}")

输出:

[-0.2, -0.1, 0.0, 0.09999999999999998, 0.2]
growth=-20.0%
growth=-10.0%
growth=0.0%
growth=10.0%
growth=20.0%

您忘记了在print语句上关闭您的字符串,您需要循环遍历growth列表,以便按照指定的方式打印其中的所有内容。

或者你可以试试:

q_growth_rates = []
q_growth_rates = [-0.2, -0.1, 0.0, 0.09999999999999998, 0.2]
print(q_growth_rates)
growth = [ str(round(x*100,1))+"%" for x in q_growth_rates]
print("n".join(f"growth={i}" for i in growth))

输出:

[-0.2, -0.1, 0.0, 0.09999999999999998, 0.2]
growth=-20.0%
growth=-10.0%
growth=0.0%
growth=10.0%
growth=20.0%

您可以直接在列表理解中print的增长

q_growth_rates = [-0.2, -0.1, 0.0, 0.09999999999999998, 0.2]

[print(f'growth = {round(x*100,1)}%') for x in q_growth_rates]

最新更新