0

我刚刚开始学习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?

4

3 回答 3

5

只需打印一个文字1并添加1到总数中:

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

您需要跟踪循环运行了多少次,使用ifor 很好,但这确实意味着您需要在每次运行时增加它。

如果在每个循环期间,您只想在总数中添加一个,那么就这样做并且不要使用循环计数器。

于 2012-11-09T17:57:59.457 回答
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))
于 2012-11-09T18:01:28.897 回答
0

while 循环的重点是在某个条件为真时继续循环。似乎您想执行一个动作 n 次,然后显示执行该动作的次数。正如 Martijn 提到的,您可以通过打印文字来做到这一点。在更一般的意义上,您可能想要考虑将计数器与变量分开,例如:

count = 1
number = 3
while count <11:
  print number*count
print "While loop ran {0} times".format(count)
于 2012-11-09T18:02:52.800 回答