[英]What's wrong in this print's formatting? Why is it not alligned?
在尝试解决一个练习时,我试图通过在行内使用制表符 (\t) 使最终印刷品的展示效果更好一些。 我换了个姿势试了一下,最后的结果看起来像一张桌子。
我应该放弃这个想法吗? 有什么替代方法可以改进这最后一行?
#this first line was given by the teacher
vendas_produtos = [('iphone', 558147, 951642), ('galaxy', 712350, 244295), ('ipad', 573823, 26964), ('tv', 405252, 787604), ('máquina de café', 718654, 867660), ('kindle', 531580, 78830), ('geladeira', 973139, 710331), ('adega', 892292, 646016), ('notebook dell', 422760, 694913), ('notebook hp', 154753, 539704), ('notebook asus', 887061, 324831), ('microsoft surface', 438508, 667179), ('webcam', 237467, 295633), ('caixa de som', 489705, 725316), ('microfone', 328311, 644622), ('câmera canon', 591120, 994303)]
print('Produto\t\tVendas de 2019\t\tVendas de 2020\t\t% de crescimento')
for tupla_produtos in vendas_produtos:
produto, vendas2019, vendas2020 = tupla_produtos
if vendas2020 > vendas2019:
crescimento = vendas2020 / vendas2019 - 1
print(f'{produto}\t\t{vendas2019:,.2f}\t\t{vendas2020:,.2f}\t\t{crescimento:.1%}')
请注意,我尝试在两个打印中都使用 \t 来尝试使最终结果对齐,就像各种表格一样。 该图显示了结果
您可以像这样使用字符串格式:
vendas_produtos = [('iphone', 558147, 951642), ('galaxy', 712350, 244295), ('ipad', 573823, 26964), ('tv', 405252, 787604), ('máquina de café', 718654, 867660), ('kindle', 531580, 78830), ('geladeira', 973139, 710331), ('adega', 892292, 646016), ('notebook dell', 422760, 694913), ('notebook hp', 154753, 539704), ('notebook asus', 887061, 324831), ('microsoft surface', 438508, 667179), ('webcam', 237467, 295633), ('caixa de som', 489705, 725316), ('microfone', 328311, 644622), ('câmera canon', 591120, 994303)]
print(f"%-20s %-20s %-20s %-20s" % ("produto", "Vendas de 2019", "Vendas de 2020", "% de crescimento") )
for tupla_produtos in vendas_produtos:
produto, vendas2019, vendas2020 = tupla_produtos
if vendas2020 > vendas2019:
crescimento = vendas2020 / vendas2019 - 1
print(f"%-20s %-20.2f %-20.2f %-20.1f" % (produto, vendas2019, vendas2020, crescimento) )
Output :
produto Vendas de 2019 Vendas de 2020 % de crescimento
iphone 558147.00 951642.00 0.7
tv 405252.00 787604.00 0.9
máquina de café 718654.00 867660.00 0.2
notebook dell 422760.00 694913.00 0.6
notebook hp 154753.00 539704.00 2.5
microsoft surface 438508.00 667179.00 0.5
webcam 237467.00 295633.00 0.2
caixa de som 489705.00 725316.00 0.5
microfone 328311.00 644622.00 1.0
câmera canon 591120.00 994303.00 0.7
print(f'{produto}\t\t{vendas2019:,.2f}\t\t{vendas2020:,.2f}\t\t{crescimento:.1%}')
\t\t
使它成为工作,并且根据produto
长度,您会看到未对齐的结果。
尝试import pprint
并使用它,它应该会给你帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.