1. 文章
  2. 文章详情

Python打印“菱形”星号

用python打印出菱形图案

代码
def printStar(intNum):  # 打印星号
s = "*"
spaceLength = intNum # 空间长度(循环打印次数)
blockCount = int(intNum / 2 + 1) # 第一个星号左边的空格数

for i in range(spaceLength): # 开始循环并打印
result = s.rjust(blockCount) # rjust(i)方法:设定一个字符串长度i,不足则向左填充空格
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)

运行结果:

please input a odd num data

发表评论

登录后才能评论

评论列表(0条)