Python格式化输出问题:如何实现固定间距对齐的打印效果?
解决Python输出固定间距对齐问题
你当前代码里用制表符(\t)控制间距,会因文本长度不同导致对齐混乱,而且循环变量定义为cars却使用了i,这会触发NameError,得先修正这个笔误。
下面是两种实现固定间距对齐的方法:
方法1:f-string指定对齐宽度
通过在f-string中给车型名字段设置左对齐+固定宽度,让所有车型名占用相同宽度的空间,后续箭头和百分比就能完美对齐。
修改后的代码:
for i in car_percentage: print(f"{i[0]:<30} --> {i[1]}")
:<30表示将字符串左对齐,占用30个字符宽度;若原字符串长度不足30,自动用空格填充;若超过30,会完整显示(若要截断过长文本,可改成:<30.30)。- 根据你的示例,30的宽度足够覆盖最长车型名,你也可根据实际情况调整这个数值。
方法2:使用str.ljust()方法
利用字符串的ljust()方法,将车型名左对齐并填充空格到指定宽度:
for i in car_percentage: print(f"{i[0].ljust(30)} --> {i[1]}")
该方法和方法1效果完全一致,ljust(30)会把字符串调整为30字符宽度,不足部分用空格填充。
修改后运行代码,就能得到你期望的对齐输出:
Tesla Model S Performance --> 68% Volkswagen ID.3 77 kWh Tour --> 70% Tesla Model 3 LR 4WD --> 71% Tesla Model 3 Performance --> 75% Tesla Model Y LR 4WD --> 79%
内容的提问来源于stack exchange,提问作者user19914532
相关产品推荐
相关产品推荐

