打印每个字母串的字母数相同的次数

问题描述 投票:0回答:3

我试图使这个功能,以便它打印字符串的每个字母,字符串中字母数相同的次数。所以例如如果字符串是'hi',那么函数的输出将是:

HH

(每个字母在上面的单独行上)但是我的代码只为上面的例子打印'ii',我不知道为什么。

def vertical_strings(string):
    """takes a string and prints each letter on new line repeating each letter for length of word"""

    num = len(string)
    for char in string:
        new = char * num
    return new
print(vertical_strings('hi'))
python
3个回答
0
投票
def vertical_strings(string):
    """takes a string and prints each letter on new line repeating each letter for length of word"""

    num = len(string)
    for char in string:
        new = char * num
        print new
vertical_strings('hi')

您只需在代码中进行一些小调整即可

  • 由于您需要打印,因此在每次迭代代码时都要打印

0
投票

你只返回最后一个字母的结果,尝试使用重复的所有字母的列表,然后通过换行符(\n)加入列表的元素:

def vertical_strings(string):
    num = len(string)
    new = []
    for char in string:
        new.append(char * num)
    return '\n'.join(new)

print(vertical_strings('hi'))

输出:

hh
ii

0
投票

我认为还应该有一个规定来捕获仅来自给定字符串的唯一字母。我的解决方案强调一个回文mom,有两个独特的字符,应该只有两行输出。请检查出来并提供反馈。

def vertical_strings(string):

    return [x*len(string) for x in list(set(string))]

[print(x) for x in vertical_strings('mom')]

输出:

mmm
ooo
© www.soinside.com 2019 - 2024. All rights reserved.