Asterisk art in python

前端 未结 5 1093
遇见更好的自我
遇见更好的自我 2020-12-20 21:10

I would like to produce this picture in python!

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


        
5条回答
  •  自闭症患者
    2020-12-20 21:51

     '%10s'    %'*'*x
    

    is being parsed as

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

    because the % and * operators have the same precedence and group left-to-right[docs]. You need to add parentheses, like this:

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

    If you want to loop through a range of numbers, it's considered more idiomatic to use a for loop than a while loop. Like this:

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

    for x in range(0, 10) is equivalent to for(int x = 0; x < 10; x++) in Java or C.

提交回复
热议问题