【发布时间】:2019-07-23 05:28:41
【问题描述】:
positive_numbers 函数应返回一个包含非负数 (>=0) 的列表。
但是,目前,它只返回 [3] 而不是值列表。
我尝试了不同的方法来完成这项工作我目前是 python 的初学者,我没有人问这就是为什么如果这对你来说太基础了,你只想学习并看到我的错误,我很抱歉
def positive_numbers(numbers):
for number in numbers:
result = []
result = result + [number]
if number < 0:
continue
return result
预期:函数应该返回一个数字列表
实际:返回唯一值为 3 的列表
错误:调用positive_numbers([1, 2, 3])应该返回[1, 2, 3],但它返回了[3]
【问题讨论】:
-
result应该在for循环之外 -
下面的答案描述了哪里出了问题。我建议您使用:
[number for number in numbers if number >= 0]。这个列表理解将创建一个正数列表。 -
@DaruisTV 你说是肯定的,但接着写' 0',对吧?不包括 0?
-
@brentertainer 在这种情况下我想包含 0 所以 >= 0 将是最好的选择,但我仍在学习,我感谢所有反馈和解决方案的想法,以使其更好:)跨度>
标签: python list loops printing return-value