代码之家  ›  专栏  ›  技术社区  ›  Vedant

如何解决python啦啦队长问题?[已关闭]

  •  -1
  • Vedant  · 技术社区  · 3 年前

    所以,我试图解决这个问题:

    编写一个名为cheerleader的函数,该函数接受两个整数参数line和cheers,并以递增的缩进级别打印一系列“cheer”行。第一个参数表示要打印的输出行数,第二个参数表示每行的“欢呼”数。例如,呼叫啦啦队(2,4)意味着您应该打印2行输出,每行包含4个“啦啦队”“cheel”是“Go”一词在输出中的出现。相邻的欢呼声用“Team”一词隔开,因此1声欢呼声打印为“Go”,2声欢呼声打印为“Go Team Go”,3声欢呼声打印为“Go Team Go Team Go”,依此类推。

    打印的行应以递增的缩进级别显示。显示的第一行应该没有缩进,但后面的每一行应该比前面的行多3个空格。换句话说,输出的第二行应该缩进3个空格,第三行缩进6个空格,依此类推。您可以假设传递给函数的两个参数的值至少为1。请查找输出期望的图片:

    enter image description here

    这是我目前的解决方案:

        for i in range(1 , n+1):
            for j in range(0, i):
                if j == i-1:
                    for k in range (0, m-1):
                            print("Go" , end=" ")
                            print("Team" , end=" ")
                    if k == m-2:
                        print("Go" , end=" ")
                else:
                    print('   ', end='')
            print()
    

    但我无法满足所有条件。请帮忙

    1 回复  |  直到 3 年前
        1
  •  0
  •   HadiB    3 年前

    与其单独打印每个单词,不如先构建字符串,然后再打印它 lines 时代

    def cheerleader(lines, cheers):
        string_to_print = ''
        for line in range(lines):
            for cheer in range(cheers):
                if cheer == 0:
                    string_to_print = '   ' * line
                    string_to_print = f'{string_to_print}Go'
                else:
                    string_to_print = f'{string_to_print} Team Go'
            print(string_to_print)