原代码
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 方法补充
修改后
至此,解决。