思路:第一行和最后一行不符合规律:第一行只有一个,后面什么都没有;最后一行全是符号!然后对中间的进行处理:先打印出空格然后打印第一个星号(左边的那个星号),再打印空格,随后打印第二个星号(右边的那个)!
def func(n):
i = 1
while i == 1:
j = 1
while j <= n - 1:
print(' ', end=' ')
j += 1
print('*')
i += 1
while 1 < i < n:
j = 1
while j <= n - i:
print(' ', end=' ')
j += 1
print('*', end=' ')
j = 1
while j <= 2 * i - 3: # 第二行的星和前面的星间隔是1个,第三行和前面的间隔是3个,第四行和前面的间隔是5个
print(' ', end=' ')
j += 1
print('*')
i += 1
while i == n:
j = 1
while j <= 2 * i - 1:
print('*', end=' ')
j += 1
i += 1
func(8)