python如何输出星号组成的菱形图形?

python输出星号组成的菱形图形的方法:

读入一个整数N,N是奇数,输出由星号字符组成的菱形三角形,要求:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬

第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后n/2共n个星号,然后在依次递减到n行为一个星号。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

def printStar(intNum):
  s = "*"
  spaceLength = intNum
  blockCount = int(intNum/2+1)
 
  for i in range(spaceLength):
    result = s.rjust(blockCount)
    if i >= int(spaceLength/2):
      print(result)
      s = s[2:]
      blockCount -= 1
    else:
      print(result)
      s = s+(2*"*")
      blockCount += 1
 
def oddOReven(intNum):
 
  if intNum%2 == 0:
    print("please input a odd num data")
  else:
    printStar(intNum)
 
if __name__ == '__main__':
   
  while True:
    try:
      intNum = eval(input("please input a odd num data\n"))
      oddOReven(intNum)
    except BaseException as e:
      print("Please input as 1/2/3... Errorcode:%s" % e)

运行结果:

7cb5ee033f0f44f25d2a852a5a1ec2e.png


python如何输出星号组成的菱形图形?