"""版本号='1.0.0.0.1'
注意事项='这个框柱东西的函数只能用一个字节的英文字符'
##########################################################
# Tim Peters的《Python的禅》 #
# #
# 美丽胜于丑陋。 #
# 显性比隐性好。 #
# 简单总比复杂好。 #
# 复杂总比复杂好。 #
# 平的比嵌套的好。 #
# 稀疏总比密集好。 #
# 可读性很重要。 #
# 特例不足以打破规则。 #
# 尽管实用性胜过纯粹。 #
# 错误不应该无声无息地过去。 #
# 除非明确禁止。 #
# 面对歧义,拒绝猜测的诱惑。 #
#应该有一个——最好只有一个——显而易见的方法来做这件事。#
# 尽管这种方式一开始可能并不明显,除非你是荷兰人。 #
# 现在总比没有好。 #
# 虽然从来没有比现在更好。 #
# 如果实现很难解释,这是个坏主意。 #
# 如果实现很容易解释,这可能是一个好主意。 #
# 命名空间是一个非常棒的主意——让我们做更多的事情吧! #
##########################################################
def kuang_zhu(mu_biao='''Tim Peters的《Python的禅》\n\n美丽胜于丑陋。\n显性比隐性好。\n简单总比复杂好。\n复杂总比复杂好。\n平的比嵌套的好。\n稀疏总比密集好。\n可读性很重要。\n特例不足以打破规则。\n尽管实用性胜过纯粹。\n错误不应该无声无息地过去。\n除非明确禁止。\n面对歧义,拒绝猜测的诱惑。\n应该有一个——最好只有一个——显而易见的方法来做这件事。\n尽管这种方式一开始可能并不明显,除非你是荷兰人。\n现在总比没有好。\n虽然从来没有比现在更好。\n如果实现很难解释,这是个坏主意。\n如果实现很容易解释,这可能是一个好主意。\n命名空间是一个非常棒的主意——让我们做更多的事情吧!''',kuang='#',ju_zhong=True,fen_ge=False,da_yin=True,isprint=True):
'''这个框柱东西的函数的kuang参数只能用一个字节的英文字符'''
yin_wen_list=[' ','q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'l', ';', '\\\\', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '!', '@', '#', ', '%', '^', '&', '*', '(', ')', '`', '~', '<', '>', '?', ':', '"', '|', '{', '}']
def len1(mb):
sumf=0
for i in mb:
if i != '':
if i in yin_wen_list:
sumf+=1
else:
sumf+=2
return sumf
def max1(mb):
Max=''
for i in mb:
if len1(i) > len1(Max):
Max=i
return Max
mei_hang=mu_biao.split('''\n''')
hang_max=len1(max1(mei_hang))
if not kuang:
kuang=''
else:
kuang=str(kuang)[0]
return_list=[kuang*(hang_max+2),'''\n''']
if ju_zhong:
for i in mei_hang:
return_list.extend([kuang+' '*int((hang_max-len1(i))/2)+i+' '*(int(hang_max-len1(i))-int((hang_max-len1(i))/2))+kuang,'''\n'''])
if fen_ge:
return_list.extend([kuang*(hang_max+2)])
else:
for i in mei_hang:
return_list.extend([kuang+i+' '*int(hang_max-len1(i))+kuang,'''\n'''])
if fen_ge:
return_list.extend([kuang*(hang_max+2)])
return_list.extend([kuang*(hang_max+2)])
if da_yin:
gai_da_yin_de=''
for i in return_list:
gai_da_yin_de=gai_da_yin_de+i
if isprint:
print(gai_da_yin_de)
else:
return gai_da_yin_de
else:
return return_list
def finder(目标,isprint=False):
'''I can find all the characters in your string and count their occurrences, then output:" one character: number of occurrences ..."'''
mb=目标
a=[]
b=[]
for i in mb:
if i in a :
b[a.index(i)]=b[a.index(i)]+1
elif i != '''\n''':
a.append(i)
b.append(1)
if isprint:
for i in a:
print(i,b[a.index(i)],end=' ',sep=':')
return dict([(a[x],b[x])for x in range(len(a))])
def findstr(目标,sub):
'''I can count the number of' sub' sub characters in your string.'''
mb=目标
tj=[]
sum1=0
for i in range(len(mb)-len(sub)+1):
tj.append(mb[i:i+len(sub)])
for i in tj:
if i == sub:
sum1+=1
return sum1
def Len(目标,是按字节=True):
'''me good then python's len()'''
sumf=0
if 是按字节:
yin_wen_list=[' ','q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'l', ';', '\\\\', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '!', '@', '#', ', '%', '^', '&', '*', '(', ')', '`', '~', '<', '>', '?', ':', '"', '|', '{', '}']
for i in mb:
if i != '':
if i in yin_wen_list:
sumf+=1
else:
sumf+=2
return sumf
else:
for i in mb:
sumf+=1
return sumf
def Max(目标,是按字节=True):
'''I will return the largest character in the target.'''
Maxstr=''
if 是按字节:
for i in mb:
if Len(i) > Len(Maxstr):
Maxstr=i
return Maxstr
else:
for i in mb:
if len(i) > len(Maxstr):
Maxstr=i
return Maxstr
"""