【问题标题】:Can someone explain what all the codes mean? PYTHON [closed]有人可以解释所有代码的含义吗?蟒蛇[关闭]
【发布时间】:2015-12-17 13:38:19
【问题描述】:
    i = 10
while i > 0:
        print i*'*' + 2*(10-i)*' ' + i*'*'
        i -= 1
for x in range(2,11):
        print x* '*' + 2*(10-x)*' '+ x*'*'
        x += 1

谁能告诉我每一行的作用?

【问题讨论】:

    标签: python loops while-loop


    【解决方案1】:

    我会保持非常简单,因为这是非常基本的东西。

    i = 10

    变量i被初始化为10。

    while i > 0:
        print i*'*' + 2*(10-i)*' ' + i*'*'
        i -= 1
    

    当变量 i 大于 0 时,它会打印字符串 * i 次,空格 2 * (10 - i) 次,然后再次打印字符串 * i 次。每个循环它都会从 i 中减去 1,因此 i 以 10 开始并一直下降到 1。这会产生以下三角形/金字塔:

    ********************
    *********  *********
    ********    ********
    *******      *******
    ******        ******
    *****          *****
    ****            ****
    ***              ***
    **                **
    *                  *
    


    for x in range(2,11):
        print x* '*' + 2*(10-x)*' '+ x*'*'
        x += 1
    

    这里的变量 x 从 2 开始并一直递增到 10,这导致上述三角形的倒置版本(不完全是,但如果您使用 range(1, 11) 代替,则会出现这种情况)。 x += 1 在这里也是多余的,因为 range 函数已经以 1 的步长递增 x(因为省略了 step 参数)。您可以通过运行以下代码自己查看:

    for x in range(1, 11):
        print x 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-14
      • 2015-10-28
      • 2014-05-18
      • 2012-11-23
      • 2011-11-24
      • 1970-01-01
      相关资源
      最近更新 更多