首先我们来看一段代码:
String1="中国是个伟大的国家"
String2="China is a great country"
print(' ',String1.ljust(50,'*'))#50是输出字符串的宽度,*是填充字符,即将空白的地方用*填充起来
print(' ',String2.ljust(50,'*'))
运行这段代码:
我们期待的结果是:
但是实际的结果是:
这是什么原因呢?
因此ljust将每一个中文字符看成一个字符但是一个中文字符的输出所占的空间相当于2个英文字符
所以应该在输出英文的表达式中把宽度加len(String1):
String1="中国是个伟大的国家"
String2="China is a great country"
print(' ',String1.ljust(50,'*'))#50是输出字符串的宽度,*是填充字符,即将空白的地方用*填充起来
print(' ',String2.ljust(50+len(String1),'*'))
输出结果是: