如何用python 做一个从上到下,1 3 5 3 1的菱形,左边的空格为 2 1 0 1 2

Python012

如何用python 做一个从上到下,1 3 5 3 1的菱形,左边的空格为 2 1 0 1 2,第1张

按照你的要求编写的Python菱形程序如下

#!/usr/bin/python 

def diamond(n):

 for i in range(1,n*2+2): 

  for j in range(1,abs(n-i)+1):

   print (' ',end='')

  for j in range(1,2*n-2*abs(n-i)):

   print ('*', end='')

  print()

diamond(3)

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)

结果如下:

希望可以帮到你,望采纳~