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

2024-09-16 06:21:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使这个函数,使它打印字符串中的每一个字母,次数相同的字母数在字符串中。例如,如果字符串是“hi”,那么函数的输出将是:

(每一个字母都在上面单独的行上) 然而,对于上面的例子,我的代码只打印'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'))

Tags: 函数字符串newforstring字母hi次数
3条回答
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')

你只需要在代码中做一些小的调整

  • 因为您需要打印,所以在代码的每次迭代中都要打印

如果只返回最后一个字母的结果,请尝试使用所有重复字母的列表,然后用换行符(\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

我认为还应该有一个只从给定字符串中捕获唯一字母的规定。这里我的解决方案用回文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

相关问题 更多 >