自测-1 打印沙漏(20)(python)

N,Str=input().split()
sand=[1]
dot=1
line=0
N=int(N)
N=N-1
t=int()
while N>(line+2)*2:
    line=dot*2+1
    sand.append(line)
    sand.insert(0,line)
    N=N-line*2
    dot+=1
maxstr=sand[0]
for eachrow in sand:
    space=(maxstr-eachrow)//2#奇数-奇数,一定等于偶数
    low=' '*space+'*'*eachrow
    print(low)
print(N)
#1.先建一个只有中心点的列表[1]
#2.运用list.append()和list.insert()分别在中心点两侧依次插入奇数
#3.设定好终止条件(剩余数字不足以进行下一轮插入时终止)
#4.表示沙漏的每一行前的空格数
#print(sand,N)
#print(N,Str)

你可能感兴趣的:(自测-1 打印沙漏(20)(python))