首页 > 解决方案 > 倒计时函数只返回一个值

问题描述

第二个功能有什么问题?

def count(n):
  return [i for i in range (n,-1,-1)]

给了我准确的结果[5, 4, 3, 2, 1]但是

def count(n):
  for i in range (n,-1,-1):
      return i

总是返回n

标签: pythoncountdown

解决方案


正如人们在评论中所说, return 停止函数并返回值。如果您想做这样的事情,但不退出函数,请使用生成器。此外,官方 Python 风格指南PEP 8建议您使用 4 个空格进行缩进。

def count(n):
    for i in range(n, -1, -1):
        yield i

print(list(count(5)))

推荐阅读