python中英混合格式化输出

往往采用python中的format函数进行格式化输出,一般使用十分方便,但是存在一点不足,即输出汉字时,它依然采用ASCII码填充,导致输出无法对其。于是自己写了一个小函数。

一、判断是否为ASCII码字符

def letterorcharacter(ch):
    if ord(ch) <= 127 and ord(ch) >= 0:
        return 1
    else :
        return 0

二、输出对其函数

string为输出内容,length即为对其后的长度,align为对其方式l为左对齐,r为右对齐,c为居中对其,symbol为对其时的填充符号

def myFormatPrint(string, length=0, align='l', symbol=' '):
    i = 0
    temp = ''
    str_len = len(string)
    while i < length:
        temp += symbol
        i += 1
    i = 0
    str_sp = 0
    while i < str_len:
        str_sp += 1 if letterorcharacter(string[i]) else 2
        i += 1
    if align == 'l':
        return string + temp[str_sp:]
    if align == 'r':
        return temp[:-str_sp] + string
    if align == 'c':
        l_c = (length - str_sp)//2
        r_c = length - l_c - str_sp
        return temp[:-(str_sp+r_c)] + string + temp[l_c+str_sp:]

三、效果

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值