Python使用for循环打印金字塔


1. 正金字塔

# 打印形状 #
	*
   ***
  *****
 *******
*********
    
# 实现代码 #
# 将金字塔看作一个由左边矩形、右边三角形组成的图形(拆分如下)
# for i in range(a):
#     print('~'*(a - 1 - i) + '*'*(i + 1) + '  ' + '*'*i)

# 输入层数
a = int(input('请输入层数:'))

for i in range(a):
    print(' '*(a - 1 - i) + '*'*(i + 1) + '*'*i)

2. 倒金字塔

# 打印形状 #
*********
 *******
  *****
   ***
    *
    
# 实现代码 #
# 输入层数
a = int(input('请输入层数:'))

for i in range(a):
    print(' '*i + '*'*(a - i) + '*'*(a - 1 - i))

3. 数字金字塔

# 打印形状 #
          0
        1 0 1
      2 1 0 1 2
    3 2 1 0 1 2 3 
  4 3 2 1 0 1 2 3 4
5 4 3 2 1 0 1 2 3 4 5
    
# 实现代码 #
# 输入层数
a = int(input('请输入层数:'))

for i in range(a+1):
    # 调节数字前方空格数量
    # 可针对层数为一位数、两位数的金字塔打印
    if i < 10:                                              
        print(' '*(a - 8) + '  '*(a + 1 - i), end='')
    else:
        print('   ' * (a + 1 - i), end='')

    # 输出金字塔左半部分(包括0)
    j = i
    while j != -1:
        print(j, end=' ')
        j = j - 1

    # 输出金字塔右半部分(不包括0)
    j = 1
    while j != i + 1:
        print(j, end=' ')
        j = j + 1

    print()

相关内容

发布了14 篇原创文章 · 获赞 6 · 访问量 377

猜你喜欢

转载自blog.csdn.net/Sherlooock/article/details/105559104