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

时间:2014-06-18 11:20:27

标签: python list append countdown

这是我尝试创建倒计时,其中所有数字都附加到列表中。

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


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

countdown()

这是制作应用程序的时间表的一小部分。

3 个答案:

答案 0 :(得分:1)

我没有使用全局变量,而是编写了countdown函数,该函数接受start参数并返回list,如下所示:

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

演示:

timeleft = 3
num1 = 24 - timeleft
cd = countdown(num1)
print(cd) # [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

如果您想数为零,请使用range(start,-1,-1)

答案 1 :(得分:0)

def countdown(time_left):
    return [x for x in range(24 - time_left, -1, -1)]

测试:

>>> countdown(20)
[4, 3, 2, 1, 0]
>>> countdown(15)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> 

答案 2 :(得分:0)

在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

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