如何用Python的range函数实现含0的非递归倒计数?
解决Python中range倒计数包含0的问题
嘿,这个问题其实是对range()函数参数逻辑的小误解,很容易搞定!
你现在的代码里,range(start, 0, -1)之所以不会输出0,是因为range()的第二个参数是结束值,且这个值不会被包含在生成的序列里。当步长为负数时,range会从起始值开始,每次减1,直到当前值刚好小于结束值的时候停止——所以当i降到0时,它等于结束值0,就被排除了。
修正方法
只需要把range的结束值改成-1就行!这样range(start, -1, -1)会生成从start开始,一直到0的所有整数(因为0比-1大,符合步长为负的循环条件)。
修正后的代码如下:
def countDown2(start): for i in range(start, -1, -1): print(i)
测试示例
比如调用countDown2(3),输出会是:
3 2 1 0
这样就完美实现了从指定数倒计数到0的需求啦!
内容的提问来源于stack exchange,提问作者Pashta
相关产品推荐
相关产品推荐

