我是编码新手,不知道如何使用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]