星星数奇数的图案印刷

问题描述

如何打印此图案?我已经完成了常规模式,但无法获得奇数星。

enter image description here

解决方法

您可以使用简单的列表理解:

n = 5
print("\n".join((a := [("* "*i).center(n*2 + 1) for i in range(1,n + 1) if i&1]) + a[::-1][1:]))

     *
   * * *
 * * * * *
   * * *
     *

您可以将n更改为所需的任何内容