Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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 - Fatal编程技术网

Python倒计时序列

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

我需要写一个从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(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对象。我怀疑他是否知道其中的区别。标题要求“倒计时序列”。无论哪种方式,建议使用循环进行列表转换都是错误的建议。