一般的可以按这个搞,但是中文就会有问题:
python基础_格式化输出(%用法和format用法)
对于
print('1234567890' * 10)
print('%10s' % '今天好')
print('%10s' % 'jjj')
对不齐的问题,主要是中文和英文、数字等英文输入的字符,所占的大小不同,显然一个中文字符占英文字符的两个大小的位置,
然而,%10s 的补齐规则是,先测下输入字符的长度,再和10作比较,然后小了就在前面(右对齐)不上英文空格, 但是 对于'今天好' 和‘jjj’用
len()测长度都是 3 ,所以都补上相同的7个空格,然而中文本身就比字母占位多一倍,所以就会对不齐了。
所以如果要实现中文对齐,需要自己写个函数统计其中中文字符个数,自己添加正确的空格数来补齐。