python打印菱形

#_*_ encoding: utf-8 _*_   @author: ty  hery   2018/9/6


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 again")
        return
    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)
posted @ 2022-10-22 11:03  ty1539  阅读(11)  评论(0编辑  收藏  举报