编程语言
首页 > 编程语言> > Python 中英文混输格式对齐问题

Python 中英文混输格式对齐问题

作者:互联网

最近学习python爬虫案例输出中国大学排名时,碰见了在使用format函数对字符串进行格式化输出时存在中英文输出格式对齐问题
输出语句的代码:

for ul in ulist:
    print("{:^6}\t{:^10}\t{:^6}".format(ul[0],ul[1],ul[2]))   

在这里插入图片描述
结果如上图,教学视频中老师给出了原因
在这里插入图片描述
解决方案如下:

采用chr(12288)表示中文空格
修改后的代码:

 # 打印表头,并处理中英文对齐问题
    tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"
    print(tplt.format("排名", "学校名称", "总分", chr(12288)))
    # 输出具体信息
    for i in range(num):
        u = ulist[i]
        print(tplt.format(u[0], u[1], u[2], chr(12288)))

注:{1:{3}^10},这个里面1和3对应format里面的顺序,而“:” 后面的内容表示填充内容,当长度不够时将自动填充

这里有一篇别人写的关于该问题的博客
点此查看

爬虫案例——爬取中国大学排名
点此查看

标签:10,tplt,format,Python,ul,chr,混输,print,对齐
来源: https://blog.csdn.net/weixin_41897680/article/details/104679706