【问题标题】:python pyramid pattern print using for looppython金字塔模式打印使用for循环
【发布时间】:2017-07-02 20:53:56
【问题描述】:

你如何操作 for 循环来显示输出,就像

5
54
543
5432
54321

我尝试过像这样的编码

n=6
for i in range(0,n):
    for j in range (n,0):
        print(j,end="")
print(i)

但它会打印这个

0
1
2
3
4
5

它不应该先打印循环 j 中的 5 吗

【问题讨论】:

    标签: python loops for-loop iteration


    【解决方案1】:

    差不多好了,但是要从n往下走,range需要第三个参数——step——是-1:

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

    【讨论】:

    • 所以我应该将 j 中的范围替换为 (n,-1)?
    • 我刚试过,效果很好。你能解释一下它是如何工作的吗?我对它如何执行代码有点困惑。
    【解决方案2】:

    有很多方法可以解决这个问题……这里有一个:

    n = 5
    
    for i in range(0, n):
        # Think of this range as "how many numbers to print on this line"
        for j in range(i + 1):
            # First number should be n, second n - 1, etc.
            print(n - j, end="")
        print() # newline before next i
    

    (请注意,我将 n 更改为 5。)

    【讨论】:

    • 我注意到您没有在 j 范围内添加第二个数字。为什么会这样?
    • @CzarLuc 因为第一个参数的默认值是零。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 2020-02-04
    • 2016-11-21
    • 1970-01-01
    相关资源
    最近更新 更多