不曾遗忘 发表于 2021-8-5 22:49:22

python中改变打印间隔的问题

products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
product = dict(products)
i = 0
print("------ 商品清单 ------")
for thing,price in product.items():
    print(i,thing,price,end="\n")
    i += 1
以上为我写的代码,打印的效果并不是让我很满意,有什么方法可以增加字符之间的间隔,从而达到美观的效果?新人愚笨,望大佬帮忙{:10_266:}
*希望效果如下:
------ 商品清单 ------
0    iphone    6888
1    MacPro    14800
2    小米6    2499
3    Coffee    31
4    Book    60
5    Nike    699

basketmn 发表于 2021-8-6 07:09:42

不知道这样符不符合你的要求products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
product = dict(products)
i = 0
print("------ 商品清单 ------")
for thing,price in product.items():
    print(i,thing,price,sep=' ',end="\n")
    i += 1

逃兵 发表于 2021-8-6 08:19:32

可以格式化输出,用上占位符

但是中文和英文之间的占位相差一倍

想美观最好全用英文

products = [["iphone",6888],["MacPro",14800],["xiaomi6",2499],["Coffee",31],["Book",60],["Nike",699]]
product = dict(products)
i = 0
print("------ 商品清单 ------")
for thing,price in product.items():
    print("%d   %-8s   %d"%(i,thing,price))
    i += 1

灰晨 发表于 2021-8-6 10:22:31

print中有 sep 参数, 设置 sep ,可以让你字符想怎么隔开就怎么隔开
sep:在输出字符串之间插入指定字符串,默认是空格
想增加间隔,就 sep = '          ',设置sep等于多个空格就行

不曾遗忘 发表于 2021-8-6 10:29:39

basketmn 发表于 2021-8-6 07:09
不知道这样符不符合你的要求

谢谢啦,我想要的效果的确可以用sep="   "实现,但三楼实现的效果比我想的效果更好(指对齐){:10_266:}

不曾遗忘 发表于 2021-8-6 10:30:14

逃兵 发表于 2021-8-6 08:19
可以格式化输出,用上占位符

但是中文和英文之间的占位相差一倍


谢谢啦
页: [1]
查看完整版本: python中改变打印间隔的问题