【问题标题】:Asterisk art in pythonpython中的星号艺术
【发布时间】:2011-11-10 14:56:02
【问题描述】:

我想用python制作这张图片!

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

我输入了这个:

x=1
while x<10:
 print '%10s'    %'*'*x
 x=x+1

可悲的是,这似乎产生了由正确数量的点组成的东西,如上图所示,但每个点星号彼此隔开,而不是作为一个整体正确。

有人对我如何实现我想要的东西有聪明的头脑吗?

【问题讨论】:

  • Obelix 怎么样?
  • 3 次编辑,没有人更正 Asterix->Asterisk =)

标签: python string ascii-art


【解决方案1】:
 '%10s'    %'*'*x

被解析为

('%10s' % '*') * x

因为%* 运算符具有相同的优先级,并且从左到右分组[docs]。您需要添加括号,如下所示:

x = 1
while x < 10:
    print '%10s' % ('*' * x)
    x = x + 1

如果您想遍历一系列数字,使用for 循环比使用while 循环更习惯。像这样:

for x in range(1, 10):
    print '%10s' % ('*' * x)

for x in range(0, 10) 等价于 Java 或 C 中的 for(int x = 0; x &lt; 10; x++)

【讨论】:

  • 太棒了!瓦拉!多么好的答案!非常感谢 - 完美运行! - 这是我看到的第一个答案,所以我在评论中感谢您,但当然非常感谢其他所有人!当然是我最深切的感谢!
  • 我想你的意思是“瞧!”,法语中的“它就是!”、“Presto!”或“Woot,小狗!”
【解决方案2】:

string 对象有 rjustljust 方法来解决这个问题。

>>> n = 10
>>> for i in xrange(1,n+1):
...   print (i*'*').rjust(n)
... 
         *
        **
       ***
      ****
     *****
    ******
   *******
  ********
 *********
**********

或者,或者:

>>> for i in reversed(xrange(n)):
...   print (i*' ').ljust(n, '*')
... 
         *
        **
       ***
      ****
     *****
    ******
   *******
  ********
 *********
**********

我的第二个示例使用空格字符作为可打印字符,使用 * 作为填充字符。

ljustrjust 的参数是终端宽度。当您有闲聊的调试打印输出时,我经常使用这些来分隔带有标题的部分,例如print '--Spam!'.ljust(80, '-')

【讨论】:

    【解决方案3】:
    print '\n'.join(' ' * (10 - i) + '*' * i for i in range(10))
    

    【讨论】:

      【解决方案4】:

      是因为操作符优先,就用这个吧:

      x=1
      while x<10:
       print '%10s' % ('*'*x)
       x=x+1
      

      【讨论】:

        【解决方案5】:

        确切地说,因为您的图片以 10 个星号结尾,所以您需要。

        for i in range(1, 11):
            print "%10s"%('*' *i)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-14
          • 2013-06-27
          • 1970-01-01
          • 1970-01-01
          • 2016-10-12
          • 2010-12-14
          相关资源
          最近更新 更多