0

我想在 Python 上编写一个程序,每次计数增加 5 直到计数为 20,所以总数为 100。所以基本上我想用这种方式显示 5 * 20 的结果。

num = 5
count = 0
total = 0

我试过这段代码,但它返回为零。为什么?

while(count == 20):
    total = num * count
    if(total == num * count):
        count = count + 1
print total

请纠正我犯的任何错误。我是 Python 新手...

4

1 回答 1

4

你可能是说while count <= 20:

为 while 循环指定的条件是它继续运行所需的条件 - 而不是它何时结束。

while另请注意,和if条件不需要括号。

不过,您的代码也有一些奇怪的冗余。

例如:

total = num * count
if total == num * count:
    count = count + 1

if鉴于您在上一行中将总计设置为您检查它所对照的同一事物,该声明将始终为真。换句话说,你可以写...

total = num * count
if True:
    count = count + 1

甚至只是...

total = num * count
count = count + 1

此外...

您在每次迭代中设置totalequal num * count,但如果您的目标只是打印出num * 20,则不必数到 20 - 您可以从 20 开始。

num = 5
count = 20
print num * count

还要注意...

这条线可以更简洁地说:

count = count + 1

也可以写成...

count += 1

最后...

如果你真正想要的是一个以 5 到 100 为增量的数字列表,你可以这样做:

>>> range(0, 101, 5)
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]

或这个:

>>> [n*5 for n in range(21)]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
于 2013-01-27T22:54:13.493 回答