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