强迫症适用的python中文对齐问题.format细节修改

原代码

print('{:^9}\t'.format(ii),end = '')  # 采用居中对齐 左图
print('{:<9}\t'.format(ii),end = '')  # 采用左对齐 右图

运行结果

    

一点都不齐 =,=


原因

因为我们的输出结果中有中文,当我们输出的中文宽度不够约定的宽度时,系统会自动进行填充。

而问题恰恰出现在填充这里:系统填充的是英文字符,而我们输出占用的是中文字符的宽度。单位不一致,自然会显得很别扭。


解决方案

替换填充字符 ---》祭出神器   chr(12288)  中文空格

代码

print('{0:{1}^9}\t'.format(ii,chr(12288)),end = '') # 居中对齐
print('{0:{1}<9}\t'.format(ii,chr(12288)),end = '') # 左对齐    用chr(12288)去填充,即这里的{1}

.format 方法补充



修改后


至此,解决。


猜你喜欢

转载自blog.csdn.net/weixin_42280517/article/details/80814677
今日推荐