Python倒计时序列
我需要写一个从n到1倒计时的代码 如果输入为7,则输出为[7,6,5,4,3,2,1]Python倒计时序列,python,Python,我需要写一个从n到1倒计时的代码 如果输入为7,则输出为[7,6,5,4,3,2,1] def countdown(n): L = list(range(n,1)) while n > 0: print(n) n = n - 1 return L 这是我尝试过的,但它不起作用。甚至不关闭您的return语句位于while循环内,这使得它在整个循环完成之前返回,而且range()调用并不表示负跨距 def countdown
def countdown(n):
L = list(range(n,1))
while n > 0:
print(n)
n = n - 1
return L
这是我尝试过的,但它不起作用。甚至不关闭您的return语句位于
while
循环内,这使得它在整个循环完成之前返回,而且range()
调用并不表示负跨距
def countdown(n):
L = list(range(n,0,-1))
return L
在任何情况下,for的循环都更适合这种情况:
def倒计时(n):
结果=[]
对于范围(n,0,-1)内的x:
结果追加(x)
返回结果
更好的方法是列表理解:
def倒计时(n):
返回[x代表范围(n,0,-1)中的x]
最后,最直接的解决方案是将范围转换为列表,跳过实现中的任何循环:
def倒计时(n):
返回列表(范围(n,0,-1))
请注意,按照惯例,变量名是以小写字母表示的,以便与类名和常量(分别是TitleCase和CAPS)区分开来。您的返回语句位于
while
循环中,这使得它在整个循环完成之前返回,此外,范围()
call不表示负跨步
在任何情况下,for的循环都更适合这种情况:
def倒计时(n):
结果=[]
对于范围(n,0,-1)内的x:
结果追加(x)
返回结果
更好的方法是列表理解:
def倒计时(n):
返回[x代表范围(n,0,-1)中的x]
最后,最直接的解决方案是将范围转换为列表,跳过实现中的任何循环:
def倒计时(n):
返回列表(范围(n,0,-1))
请注意,按照惯例,变量名是以小写字母表示的,以便与类名和常量(分别是TitleCase和CAPS)区分开来。您需要告诉它以负跨步倒计时。有关详细信息,请参阅文档。在旁注中,可能存在重复的,您只想返回范围实例。列表转换和循环没有用,请查看。同样,在这样的迭代中,您希望返回在for或while循环之外,否则它将在第一次迭代中完成。返回range实例不会产生正确的输出@MisterMiyagi。列表和范围对象是两个不同的东西。你需要告诉它以负步幅倒计时。有关详细信息,请参阅文档。在旁注中,可能存在重复的,您只想返回范围实例。列表转换和循环没有用,请查看。同样,在这样的迭代中,您希望返回在for或while循环之外,否则它将在第一次迭代中完成。返回range实例不会产生正确的输出@MisterMiyagi。列表和范围对象是两种不同的东西。如果他真的想要一个列表,
list(range(…)
比您的两种方法更清晰、更快。他很有可能没有-range已经实现了sequence接口。问题非常清楚地表明,输出的理想形状是列表,而不是range对象。我怀疑他是否知道其中的区别。标题要求“倒计时序列”。无论哪种方法,建议使用循环进行列表转换都是一个糟糕的建议。如果他真的想要一个列表,list(range(…)
比您的两种方法更清晰、更快。他很有可能没有-range已经实现了sequence接口。问题非常清楚地表明,输出的理想形状是列表,而不是range对象。我怀疑他是否知道其中的区别。标题要求“倒计时序列”。无论哪种方式,建议使用循环进行列表转换都是错误的建议。