Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何对一个数字进行倒计时,并将该倒计时附加到一个列表中_Python_List_Append_Countdown - Fatal编程技术网

Python:如何对一个数字进行倒计时,并将该倒计时附加到一个列表中

Python:如何对一个数字进行倒计时,并将该倒计时附加到一个列表中,python,list,append,countdown,Python,List,Append,Countdown,下面是我试图创建一个倒计时,其中所有的数字都被添加到一个列表中 timeleft = 3 num1 = 24 - timeleft mylist = [] def countdown(): while num1 != 0: num1 -= 1 mylist.append(num1) countdown() 这是我正在制作的日程表制作应用程序的一小部分。我不使用全局变量,而是编写一个倒计时函数,它接受开始参数并返回一个列表,如下所示: def

下面是我试图创建一个倒计时,其中所有的数字都被添加到一个列表中

timeleft = 3
num1 = 24 - timeleft
mylist = []


def countdown():
    while num1 != 0:
          num1 -= 1
          mylist.append(num1)

countdown()

这是我正在制作的日程表制作应用程序的一小部分。

我不使用全局变量,而是编写一个
倒计时
函数,它接受
开始
参数并返回一个
列表
,如下所示:

def countdown(start):
    return list(range(start,0,-1))
演示:

如果要计数为零,请使用
范围(开始,-1,-1)

测试:


在Python 2中,只需返回对range的调用,它将返回一个列表:

def countdown2(x, y=0):
    return range(x, y-1, -1)
在Python 3中,需要具体化列表中的范围:

def countdown2(x, y=0):
    return list(range(x, y-1, -1)) 
要实际附加到列表,请执行以下操作:

def countdown(x, y=0):
    '''countdown from x to y, return list'''
    l = []
    for i in range(x, y-1, -1): # Python 2, use xrange
        l.append(i)
    return l

但是直接列表是这里的标准方法,而不是列表理解。

timeleft
是在使用后定义的(或者可能您没有发布整个代码)。您的
countdown()
函数应该接受一个参数,您应该将
num1
变量作为该参数传递。您的代码有什么问题!谢谢,太快了!我在理解范围(开始,0,-1)内的x时遇到困难。我猜range函数类似于倒计时?这个列表理解是不必要的。@AaronHall我使用它是因为OP没有提供他的python版本,这两个版本都可以。我认为你的答案也很好(我给了+1)。
def countdown2(x, y=0):
    return range(x, y-1, -1)
def countdown2(x, y=0):
    return list(range(x, y-1, -1)) 
def countdown(x, y=0):
    '''countdown from x to y, return list'''
    l = []
    for i in range(x, y-1, -1): # Python 2, use xrange
        l.append(i)
    return l