往往采用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:]
三、效果