2012-11-09 33 views
0

我刚刚开始学习while循环。使用while循环迭代相同的数字

我想使用while循环迭代10次相同的数字。

我想通了,我怎么能利用while循环,以阻止在某一点,因为它增加

但我无法弄清楚如何停止在某一点,而无需添加1和设置限制。

这里是我的代码

i = 1 
total = 0 
while i < 11: 
    print i 
    i += 1 
    total = i + total 
print total 

这将打印

1,2,3,4,5,6,7,8,9,10,65

在单独的行中

我该如何修改此结果?

1,1,1,1,1,1,1,1,1,1,10?

回答

5

只是打印文字1并添加1总:

while i < 11: 
    print 1 
    i += 1 
    total += 1 

你需要跟踪你的循环多少次运行,并使用i因为这是很好,但也不意味着你需要在每次运行时增加它。

如果在每个循环期间,您只想要加上一个,那就做那个,不要使用循环计数器。

+0

这仍然会在最后打印65而不是10。 。 。 – ernie

+0

@ernie:已更正。 –

+0

啊,我明白了。这完成了这项工作。我明白。谢谢 – Flow

0
i = 1 
total = 0 
res = [] 
while i < 11: 
    res.append(1) 
    i += 1 
print ', '.join(res) +', '+ str(sum(res)) 

或为:

vals = [1 for _ in range(10)] 
print ', '.join(vals) +', '+ str(sum(vals)) 
0

while循环的意义就在于不断循环,同时在一定条件为真。看来你想执行一个动作n次,然后显示执行动作的次数。正如Martijn所说,你可以通过打印文字来实现这一点。从更一般的意义上讲,您可能想要考虑让您的计数器与变量分开,例如:

count = 1 
number = 3 
while count <11: 
    print number*count 
print "While loop ran {0} times".format(count)