Python 函数递归倒计时
定义一个名为count_down的函数,该函数接受1个参数。调用count_down(3)时,输出应该如下所示:3。。。2.1.0!. 我的代码如下:Python 函数递归倒计时,python,Python,定义一个名为count_down的函数,该函数接受1个参数。调用count_down(3)时,输出应该如下所示:3。。。2.1.0!. 我的代码如下: def count_down(start): """ Counting down a sequence with a skip value, from a defined start point in reversed order. Args: start: star
def count_down(start):
"""
Counting down a sequence with a skip value,
from a defined start point in reversed order.
Args:
start: start loop index.
skip: number to skip over.
Returns:
(list): skipped list.
"""
return [num for num in reversed(range(start + 1)) ]
print(count_down(3))
print(count_down(4))
但结果是
[3, 2, 1, 0]
[4, 3, 2, 1, 0]
如何获得所述格式的格式:
3.2.1.0! 打印(“…”.join(映射(str,倒计时(3)))+“!”)
–Samwise对于任何递归函数,您都需要考虑导致其结束的条件。在这种情况下,当
start
为0时,您就完成了,因此此时是打印您的特殊情况(“0!”)并返回的时候了。在其他情况下,您需要打印start
的当前值,然后使用start
减1再次调用count\u
例如:
def count_down(start):
if start == 0:
print("0!")
return
print(start, end="...")
count_down(start -1)
count_down(3)
输出:
3...2...1...0!
编写递归函数时,首先要考虑的是什么?它与您给出的问题描述不匹配--是问题的一部分,还是您从其他地方复制并粘贴了它?您的函数不是递归的,我没有看到任何地方说它应该是…尝试
print(“…”).join(map(str,count_down(3))+“!”
像输入5一样倒计时,输出5 4 3 2 1,但我希望输出是5…4…3…2…1…0!