我是python的初学者,我在打印时遇到困难。
我编写了一个程序,在字典中存储名称和价格。
(例如:{"PERSON_1":"50","PERSON_2":"75","PERSON_WITH_EXTREMELY_LONG_NAME":"80"}
现在的问题是,我希望能够以一种不错的方案来打印键及其假定的值。
我使用了代码:
for i in eter.eters:
print(i + "\t | \t" + str(eter.eters[i]))
以eter.eters作为我的字典。 问题在于某些名称比其他名称长很多,因此选项卡不对齐。 以及我的标题:“名称” | “价格”应与以下信息保持一致。 我已经找到了一些解决方案,但是我不太了解我找到的解决方案。 期望的结果:
**********************************************************************
De mensen die blijven eten zijn:
**********************************************************************
Naam | bedrag
----------------------------------------------------------------------
PERSON 1 | 50
PERSON 2 | 75
PERSON WITH EXTREMELY LONG NAME | 80
**********************************************************************
答案 0 :(得分:0)
尝试一下:
给出eter.eters是你的字典
print('%-35s | %6s' % ('Names', 'Price')) # align to the left
for k in eter:
print('%-35s | %6s' % (k,eter[k]))
或
print("{0:<35}".format('Name')+'|'+"{0:>6}".format('Price'))
for k in eter:
print("{0:<35}".format(k)+'|'+"{0:>6}".format(eter.eters[k]))
答案 1 :(得分:0)
您可以尝试获取所有名称并找到其最大长度。然后使用特殊填充而不是制表符(ast
)显示每个名称。该代码应说明:
\t