【python初学者日记】读入正整数n,打印n行正金字塔,再打印n行倒金字塔

读入正整数n,打印n行正金字塔,再打印n行倒金字塔

问题分析

本题目的是对for循环的使用,对于下面代码的方法三,是需要先自行推算,不属于编程思维。

代码实现

#读入正整数n,打印n行正金字塔,再打印n行倒金字塔
#'''
n=int(input("请输入正整数n:"))

##方法一
#'''
for i in range(1,n+1):
    for j in range(n-i):
        print(' ',end='')
    for k in range(2*i-1):
        if k<=i-1:
            print(k+1,end='')
        else:
            print(2*i-1-k,end='')
    print()

for i in range(n-1,0,-1):
    print(' '*(n-i),end='')
    for k in range(1,i+1):
        print(k,end='')
    for m in range(i-1,0,-1):
        print(m,end='')
    print()
#'''
##方法二
#'''
for i in range(1,n+1):
    
    print(' '*(n-i),end='')
    
    for j in range(1,i+1):
        print(j,end='')
    for k in range(i-1,0,-1):
        print(k,end='')       
    print()
    
for i in range(1,n):
    print(' '*i,end='')
    for k in range(1,n-i+1):
        print(k,end='')
    for m in range(n-i-1,0,-1):
        print(m,end='')
    print()
#'''
##方法三
#'''
for i in range(1,n+1):
    
    print(' '*(n-i),end='')
    
    for m in range(1,2*i):
        print(n-abs(m-n),end='')        
    print()
    
for j in range(n-1,0,-1):
    print(' '*(n-j),end='')
    for p in range(1,2*j):
        print(n-abs(n-p),end='')
    print()
#'''

运行结果如下:
在这里插入图片描述


版权声明:本文为weixin_44834325原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。