Python如何打印空心菱形?

Python
请编写程序,输入菱形的高,输出由星号勾勒出的菱形。

输入格式
行数(正整数)

输出格式
若行数为奇数,则显示星号勾勒出的菱形,否则显示错误信息。

输入样例1
5
输出样例1
*

  • *
  • *
  • *
  • 输入样例2
    8
    输出样例2
    Error

题目乱码了 菱形是竖着的 总共五行

def diamond(n):
     n += 2
     if n%2==1:
          for i in range(1,n//2+1):
               stars = '*' if i==1 else '*'+' '*(2*i-3)+'*'
               print(' '*(n//2-i)+stars)
          for i in range(n//2-1,0,-1):
               stars = '*' if i==1 else '*'+' '*(2*i-3)+'*'
               print(' '*(n//2-i)+stars)
     else:
          print('高必须是奇数。')
     print()

diamond(1)

diamond(3)

diamond(5)

diamond(7)

diamond(9)

结果:

*

 *
* *
 *

  *
 * *
*   *
 * *
  *

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

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