28-python 中格式对齐之中文格式对齐问题

一般的可以按这个搞,但是中文就会有问题:

python基础_格式化输出(%用法和format用法)

对于  

print('1234567890' * 10)
print('%10s' % '今天好')
print('%10s' % 'jjj')

 

对不齐的问题,主要是中文和英文、数字等英文输入的字符,所占的大小不同,显然一个中文字符占英文字符的两个大小的位置,

然而,%10s  的补齐规则是,先测下输入字符的长度,再和10作比较,然后小了就在前面(右对齐)不上英文空格, 但是  对于'今天好' 和‘jjj’用

len()测长度都是 3 ,所以都补上相同的7个空格,然而中文本身就比字母占位多一倍,所以就会对不齐了。

 

所以如果要实现中文对齐,需要自己写个函数统计其中中文字符个数,自己添加正确的空格数来补齐。

 

转载于:https://www.cnblogs.com/zhumengdexiaobai/p/9870219.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值