Python中的星号艺术
我想用python制作这张图片!
*
**
***
****
*****
******
*******
********
*********
**********
我输入了这个:
x=1
while x<10:
print '%10s' %'*'*x
x=x+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)
等效for(int x = 0; x < 10; x++)
于Java或C。