Skip to main content
 首页 » 编程设计

python之数半金字塔 Python

2025年05月04日24jiqing9006

我正在尝试在 python 中打印一个在左侧呈星形的半金字塔。 到目前为止,这是我的代码

for i in range(1,12): 
    for j in range(12 - i): 
        print(" ", end = " ") 
    for j in range(1, i): 
        print(j, end = " " ) 
    print("\n") 

我的输出是

                    1  
 
                  1 2  
 
                1 2 3  
 
              1 2 3 4  
 
            1 2 3 4 5  
 
          1 2 3 4 5 6  
 
        1 2 3 4 5 6 7  
 
      1 2 3 4 5 6 7 8  
 
    1 2 3 4 5 6 7 8 9  
 
  1 2 3 4 5 6 7 8 9 10  

但是,我的输出应该是相反的顺序:

            1 
 
          2 1 
 
        3 2 1 
 
      4 3 2 1 
 
    5 4 3 2 1 

我怎样才能做出这个改变?

请您参考如下方法:

只需反转第二个循环——打印实际数字的循环:

for j in range(i-1, 0, -1): 

最后一个参数控制“步长”,即变量在每次循环迭代中的变化量。输出:

                1  
 
              2 1  
 
            3 2 1  
 
          4 3 2 1  
 
        5 4 3 2 1  
        ...