Python打印“菱形”星号代码方法

时间:2022-10-08 11:46:28

本人是一名python初学者,刚刚看到一道有趣的python问题,“用python如何在编译器中打印出菱形图案?”
因此决定尝试一下,代码不多,仅供参考。

代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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)
     

运行结果:

Python打印“菱形”星号代码方法