Python中的星号艺术

发布于 2021-01-29 14:56:56

我想用python制作这张图片!

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

我输入了这个:

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

不幸的是,上面的图片似乎产生了由正确数量的点组成的东西,但是每个点星号都彼此间隔开,而不是整体上合理。

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

关注者
0
被浏览
64
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
     '%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)等效for(int x = 0; x < 10; x++)于Java或C。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看