我需要帮助编写一个程序,使用嵌套循环打印出彼此相邻的两个形状

I need help writing a program that prints out two shapes next to each other using nested loops

我需要在 python

中使用 for 循环打印两个相邻的三角形

对于需要打印的每一行

  • star 次数,即从 1 开始的行索引
  • spaces 完成总大小
  • 然后前面的2个
  • 中间有一个space,两部分之间由print给出
def print_valley(size):
    for row in range(1, 1 + size):
        print("*" * row + " " * (size - row),
              " " * (size - row) + "*" * row)

一个可能更容易理解的版本

def print_valley(size):
    for row in range(1, 1 + size):
        star = "*" * row
        space = " " * (size - row)
        print(star + space, space + star)

这也可以使用递归方法来解决。您可以像下面的解决方案一样反转级别的打印。

def line_print(samples, level=0):
    if samples == 0:
        return
    line_print(samples-1, level+1)
    print(f"{'*'*samples}{' '* level*2} {'*'*samples}")

# Call the function with needed levels
line_print(5)