我正在尝试创建一个python程序,根据用户输入打印一定数量的星号。我的代码在
之下num_stars = 3
num_printed = 0
while num_printed <= num_stars:
print('*')
输出是无限循环。我想打印星号的数量变量为星号。
答案 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])