范围倒计时到零

range countdown to zero

我是初学者Python class 老师让我们在不使用递归的情况下倒数到零。我正在尝试使用 for 循环和范围来执行此操作,但他说我们必须包括零。

我在互联网和本网站上进行了广泛的搜索,但找不到我的问题的答案。有没有一种方法可以让范围倒计时并在打印时在末尾包含零?

编辑:

def countDown2(start):
#Add your code here!
    for i in range(start, 0, -1):
        print(i)

Python 中的 range() 函数有 3 个参数:range([start], stop[, step])。如果你想倒数而不是倒数,你可以将 step 设置为负数:

for i in range(5, -1, -1):
    print(i)

输出:

5
4
3
2
1
0

作为@chrisz 答案的另一种选择,Python 有一个 built-in reversed() 函数,它以相反的顺序生成迭代器。

start_inclusive = 4
for i in reversed(range(start_inclusive + 1)):
   print(i)

产出

4
3
2
1
0

这有时更容易阅读,对于 well-written 迭代器(例如 built-in 范围函数),性能应该相同。