首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中打印反金字塔

在Python中打印反金字塔
EN

Stack Overflow用户
提问于 2020-11-25 15:08:13
回答 2查看 123关注 0票数 0

我让下面的代码使用从0到9的数字打印倒金字塔。但是,我很好奇如何更改此代码以按从金字塔末尾开始的顺序打印数字?

代码语言:javascript
复制
height = 5
num = 0
for i in reversed(range(1, height + 1)):
    print(" " * (height - i), end="")
    for j in range((i - 1) * 2 + 1):
        print(num, end="")
        if num == 9:
            num = 0
        else:
            num += 1
print("\r")

以上代码的输出为:

代码语言:javascript
复制
012345678
 9012345
  67890
   123
    4

所需输出:

代码语言:javascript
复制
789012345
 0123456
  56789
   234
    1
EN

回答 2

Stack Overflow用户

发布于 2020-11-25 19:08:26

代码语言:javascript
复制
h = 10
z = [1, 2, 5, 0, 7, 6, 7, 0, 5, 2]

for i in reversed(range(1, h+1)):
    s = ''
    m = (i % 10) - 1
    n = z[m]
    
    for j in range(i, (i-1)+(2*i)):
        s += str(n)
        n = n + 1 if n < 9 else 0   
    else:
        print(f'{s:^{(h-1)+(2*h)}}')
代码语言:javascript
复制
     2345678901234567890     
      56789012345678901      
       012345678901234       
        7890123456789        
         67890123456         
          789012345          
           0123456           
            56789            
             234             
              1
票数 1
EN

Stack Overflow用户

发布于 2020-11-25 15:21:17

如果您不想首先计算起始编号,也可以计算普通金字塔的行数,将每行保存在列表中,然后在打印前颠倒列表顺序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64999919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档