📜  用菱形图案打印数字的程序(1)

📅  最后修改于: 2023-12-03 15:40:56.076000             🧑  作者: Mango

用菱形图案打印数字的程序

如果你需要在控制台中打印出漂亮的菱形图案并且你想要在这个图案中填充数字,则你可以使用以下程序。

def print_diamond(n, fill_char='*'):
    """
    打印一个以 fill_char 为填充字符的菱形图案,每行填充数字。

    参数:
    n:菱形图案的边长(奇数,表示总行数)。
    fill_char:默认为 *,可以填充任意字符。

    示例:

    >>> print_diamond(5)
        *
       121
      12321
       121
        *
    """

    if not n % 2:
        raise ValueError('n必须是奇数。')

    for i in range(n):
        if i <= n // 2:
            line = (fill_char * (n // 2 - i)).center(n) + \
                   ''.join(str(j % 10) for j in range(1, i * 2 + 2)).center(n - (n // 2 - i) * 2, fill_char)
        else:
            line = (fill_char * (i - n // 2)).center(n) + \
                   ''.join(str(j % 10) for j in range(1, (n - i) * 2)).center(n - (i - n // 2) * 2, fill_char)
        print(line)

以上程序使用 print_diamond 函数实现了以下操作:

  • 打印菱形图案。
  • 每行填充数字。

现在,运行以下代码以查看结果:

print_diamond(5)

你将看到以下结果:

    *
   121
  12321
   121
    *

你可以调整参数以打印不同大小的菱形图案,例如:

print_diamond(9)

输出:

        *
       121
      12321
     1234321
    123454321
     1234321
      12321
       121
        *

现在,你已经可以使用 print_diamond 函数轻松地打印漂亮的菱形图案,并将其填充数字!