中文字符对齐有陷井,先看一个例子:输出四行字符,右对齐
str1="中"
str2="中文"
str3="中文对"
str4="中文对齐"
print(str1.rjust(5,"*"))
print(str2.rjust(5,"*"))
print(str3.rjust(5,"*"))
print(str4.rjust(5,"*"))
=================================================
****中
***中文
**中文对
*中文对齐
>>>
我想让字符右对齐,从输出结果看却成了居中对齐,不巧成了另一种我们想要的结果,输出的字符长度为5,不足的用*填充。每一行确实是5个字符,但是填充的英文字符占位宽度不够,所以出现了现在的结果。
解决方法:
可以用中文空格填充,中文空格 chr(12288)
str1="中"
str2="中文"
str3="中文对"
str4="中文对齐"
print(str1.rjust(5, chr(12288)))
print(str2.rjust(5, chr(12288)))
print(str3.rjust(5, chr(12288)))
print(str4.rjust(5, chr(12288)))
=================================================
中
中文
中文对
中文对齐
>>>
网友评论