|

楼主 |
发表于 2020-5-26 19:25:46
|
显示全部楼层
本帖最后由 磊之茶 于 2020-5-26 19:31 编辑
真相大白了!是这段字符串出了问题,但是。。。我想问这字符串有什么问题?- """版本号='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', '-', '=', '!', '@', '#', '{:10_313:}, '%', '^', '&', '*', '(', ')', '`', '~', '<', '>', '?', ':', '"', '|', '{', '}']
- 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', '-', '=', '!', '@', '#', '{:10_313:}, '%', '^', '&', '*', '(', ')', '`', '~', '<', '>', '?', ':', '"', '|', '{', '}']
- 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
- """
复制代码
他说问题出在sumf=0和def len1(mb):里,说Non-UTF-8 code starting wth '\xe5' in on line 30,but no encoding declared
可我连\xe5的影都没见到 |
|