这是我尝试创建倒计时,其中所有数字都附加到列表中。
timeleft = 3
num1 = 24 - timeleft
mylist = []
def countdown():
while num1 != 0:
num1 -= 1
mylist.append(num1)
countdown()
这是制作应用程序的时间表的一小部分。
答案 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
但是直接列表在这里是标准方法,而不是列表理解。