磊之茶 发表于 2020-5-29 19:29:43

请问这个函数有什么问题

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参数只能用一个字节的英文字符'''
    left=True#初始化(这也没问题)
   
    def len1(mb):
      return len(mb.encode())
    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(mu_biao.split('''\n''')))
    if not kuang:
      kuang=''
    else:
      kuang=str(kuang)
    return_list=
    for i in mei_hang:#从这里开始才有问题
      lin_shi=kuang+str(i)+kuang
      if len1(lin_shi)==len1(return_list):
            return_list.extend(lin_shi)
            return_list.append('''\n''')
      else:
            if ju_zhong:
                if left:
                  lin_shi=kuang+' '+lin_shi
                  left=False#左右交替加空格
                else:
                  lin_shi=lin_shi+' '+kuang
                  left=True
            else:
                lin_shi=lin_shi=lin_shi+' '+kuang
    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,'\n\n\n\n\n')
      else:
            return gai_da_yin_de
    else:
      return return_list
求解{:10_254:}

Twilight6 发表于 2020-5-29 19:36:45

SyntaxError: Non-UTF-8 code starting with '\xe5' in file
官方文档都有说明噻,你在文件头一行添加定义编码即可:
# _*_ coding:utf8 _*_
官方解决方案:
https://www.python.org/dev/peps/pep-0263/
页: [1]
查看完整版本: 请问这个函数有什么问题