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)

运转效果: