轻松循环功能,提供意外输出

时间:2017-04-24 20:49:04

标签: python function loops

我对Python非常陌生,而且我正在努力绕过功能。我今天写了这篇文章,但我无法弄清楚它为什么不起作用。

x = [1,2,3,4,5,6,7,8]

def test():
    y = []
    for num in x:
        if num > 4:
            y.append(num)
            return y

print(test())

所以,据我所知,for循环应循环遍历x的每个元素,测试它是否大于4.如果是,则该元素应该被添加到空列表y。因此,预期的输出应为:

[5,6,7,8]

但是,我得到的就是这样:  [5]

表示for循环不是......好,循环。它拒绝[1,2,3,4]因为不超过4.那很好。它识别5大于4,因此将其添加到y。那也没关系。但那只是......停止。据我了解,该函数应该向y添加6,7和8,因为它们都符合大于4的标准。

我完全卡住了。如果有人能帮助我弄清楚为什么会这样,我真的很感激。

1 个答案:

答案 0 :(得分:1)

您在第一次追加后停止执行。

试试这个:

x = [1,2,3,4,5,6,7,8]
def test():
    y = []
    for num in x:
        if num > 4:
            y.append(num)
    return y

print(test())