如何创建一个返回从n到1的整数列表的函数?

时间:2017-02-14 01:54:41

标签: python

如何编写一个名为countdown的函数,从n开始倒计时直到1?该函数应返回list,其内容应为从n到1的整数。

def countdown(n):
    if n >= 1:
        countdown(n-1)
    print(n)

2 个答案:

答案 0 :(得分:2)

由于您想要返回list,您需要在函数中创建该列表。

def countdown(n):
    return list(range(n, 0, -1))

range创建从n到0的序列(不包括在内,这意味着它将在1处停止),每次步长为-1。

list然后将序列转换为您想要返回的列表。

这也意味着您实际上不必为倒计时列表创建特定功能。您可以直接致电list(range(n, 0, -1))

答案 1 :(得分:0)

使用递归:

def countdown(n):
    if n < 1:
        return []
    return [n] + countdown(n-1)

这种方法提供了“基本案例”,并在达到基数后创建了一个整数列表。

查看this link以查看执行情况。如果您有任何问题,请告诉我。