Python循环打印基于用户输入的星号

时间:2016-09-25 23:42:45

标签: python

我正在尝试创建一个python程序,根据用户输入打印一定数量的星号。我的代码在

之下
num_stars = 3
num_printed = 0

while num_printed <= num_stars:
    print('*')

输出是无限循环。我想打印星号的数量变量为星号。

4 个答案:

答案 0 :(得分:2)

问题是num_printed没有增加。

在while循环中,添加num_printed += 1,并将条件更改为num_printed < num_stars,否则您将打印4颗星:

num_stars = 3
num_printed = 0

while num_printed < num_stars:
    print('*')
    num_printed += 1

答案 1 :(得分:1)

为什么不简单地使用

print num_stars * '*'

答案 2 :(得分:0)

您需要增加num_printed变量。

num_stars = 3
num_printed = 0

while num_printed < num_stars:
    print('*')
    num_printed += 1

另请注意,我已将<=更改为<:您希望检查num_printed何时不再小于星号总数,这将在最后一次之后发生开始计算,你的计数器递增。

答案 3 :(得分:0)

如果你不想在这里使用循环。也许做这样的事情:

stars = int(raw_input('number of stars: '))

star_list= ['*' for i in range(stars)]

print ' '.join(['%s' % i for i in star_list])