显示的图案不正确

时间:2016-09-29 10:52:15

标签: python

在第二个while循环中,每个循环只显示一次星号(*)。

import sys

n = 0
a = 0

while (n < 6):
    n = n + 1
    while(a < n):
        sys.stdout.write('*')
        a = a +1
    print ''

显示的模式是:

*
*
*
*
*
*

2 个答案:

答案 0 :(得分:0)

假设您希望打印6个6星的图案,并在它们之间插入一行,这就是您想要做的:

import sys

n = 0
a = 0

while (n < 6):
    n = n + 1
    a=0
    while(a < n):
        sys.stdout.write('*',end="")
        a = a +1
    print ''

答案 1 :(得分:0)

这是您的版本的可能解决方案:

import sys

n = 0
a = 0

while (n < 6):
    n = n + 1
    a = 0
    while(a < n):
        print('*', end="")
        a = a + 1
    print('')

如果您想要更短的版本,可以选择以下版本:

print('\n'.join(['*'*i for i in range(1,7)]))