2017-02-14 72 views
1

如何编写一个名为countdown的函数,该函数从n开始倒计数,直到1?该函数返回一个list,它的内容应该是整数从n下降到1如何创建一个返回从n到1的整数列表的函数?

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

所以,你想倒计时是降,我是对的/ – FreedomPride

+4

嗨,欢迎来到堆栈交换。让我省下一些麻烦,从我的错误中吸取教训。 1.)明确你的标题。 “我错过了什么”并没有单独告诉我们任何事情。尝试“如何编写倒计时功能?” 2.)告诉人们你已经试过了什么,结果是什么,所以你不会被指责要求其他人为你写代码。当你在这里运行这段代码时会发生什么? 3.)查看我的格式更改以了解如何使您的问题更具可读性。 – Aerovistae

+2

在倒数前(n-1)将'print(n)'行放在'if'里面' – alfasin

回答

2

由于要返回list,你需要创建的功能列表。

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

创建你从n到0序列(非包含,这意味着它会在1停止),与-1每次的步骤。

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

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

0

使用递归:

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

这种方法提供了“基本情况”和创建整数列表中一旦达到了基础。

检出this link以可视化执行。如果您有任何问题,请告诉我。

相关问题