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

Python 如何创建一个返回从n到1的整数列表的函数?,python,Python,如何编写一个名为countdown的函数,从n开始倒计时,直到1?函数应该返回一个列表,其内容应该是从n到1的整数 def countdown(n): if n >= 1: countdown(n-1) print(n) 由于要返回列表,因此需要在函数中创建该列表 def countdown(n): return list(range(n, 0, -1)) 创建从n到0的序列(不包含,这意味着它将在1处停止),每次的步长为-1 然后将序列转换为要

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

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

由于要返回
列表
,因此需要在函数中创建该列表

def countdown(n):
    return list(range(n, 0, -1))
创建从n到0的序列(不包含,这意味着它将在1处停止),每次的步长为-1

然后将序列转换为要返回的列表

这也意味着您实际上不必为倒计时列表创建特定的函数。您可以直接调用
列表(范围(n,0,-1))

使用递归:

def countdown(n):
    if n < 1:
        return []
    return [n] + countdown(n-1)
def倒计时(n): 如果n<1: 返回[] 返回[n]+倒计时(n-1) 这种方法提供了“基本情况”,并在达到基本情况后创建整数列表


签出以可视化执行。如果您有任何问题,请务必告诉我。

因此,您希望倒数计时下降,对吗/Hi,欢迎使用stack exchange。让我给你省点麻烦,从我的错误中吸取教训。1)明确你的标题。“我错过了什么”本身并没有告诉我们任何事情。尝试“如何编写倒计时函数?”2)告诉别人你已经尝试了什么,结果是什么,这样你就不会被指责要求别人为你编写代码。在这里运行此代码时会发生什么?3.)查看我的格式更改,了解如何使您的问题更具可读性。将
print(n)
行移动到
if
中,然后再
倒计时(n-1)