【问题标题】:Not able to multiply letters in a string无法将字符串中的字母相乘
【发布时间】:2020-07-09 10:33:00
【问题描述】:

问题是:

PAPER DOLL:给定一个字符串,返回一个字符串,其中原始字符串中的每个字符都有三个字符:

paper_doll('Hello') --> 'HHHeeellllllooo'
paper_doll('Mississippi') --> 'MMMiiissssssiiippppppiii'

我写了代码:

def paper_doll(text):
    for lettes in text:
        for i in range(0, len(text) - 1):
            return text[i] * 3

【问题讨论】:

标签: python python-3.x string


【解决方案1】:

使用这段代码,这个函数将从给定文本中取出每个字母,将其三倍并返回新字符串:

def paper_doll(text):
    out = []
    for letter in text:
        out.append(letter*3)
    return ''.join(out)

【讨论】:

    【解决方案2】:

    您的脚本中有一些错误

    一是你的 for 循环在定义之外,二是你没有调用你的函数。

    def paper_doll(text):
    for lettes in text:
        for i in range(0,len(text)-1):
            return text[i]*3
    

    试试这个:

    text="hello"
    newtext2=""
    
    def paper_doll(text,newtext2):
    
        for letter in text:
            newtext = str( letter* 3)
            newtext2+=newtext
    
        print(newtext2)
    
    
    paper_doll(text,newtext2)
    

    【讨论】:

      【解决方案3】:

      您的代码无法按预期工作的原因有几个:

      1. 您正在返回输出而不是打印它
      2. 您的代码正在运行一个不必要的额外循环

      这样就可以了:

      def paper_doll(text):
          for letter in text:
              print(letter * 3, end="")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-22
        • 1970-01-01
        • 2016-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多