python 我正在尝试打印一个将显示任何大于5的数字的语句

gstyhher  于 2022-11-28  发布在  Python
关注(0)|答案(3)|浏览(154)

我尝试打印任何大于n的数字,在本例中为5。它只打印了6和7。我不确定我做错了什么。这是我的代码。我在数组中循环并测试i是否大于n(5)

list = [2, 3, 4, 5, 6, 7, 8, 9]
n = 5
filter_list (list, n)

def filter_list (list, n):
` `for i in range(len(list)):
` `if list[i] > n:
` `print (list[i])

结果是only 6, 7.它不是6, 7, 8, 9,这是我想要的
它不打印预期结果

4szc88ey

4szc88ey1#

对我来说,你的代码工作正常,只是修复缩进。只是在打印时添加end ''打印在同一行。

list = [2, 3, 4, 5, 6, 7, 8, 9]
n = 5

def filter_list (list, n):
    for i in range(len(list)):
        if list[i] > n:
            print (list[i],end =' ')
        
filter_list (list, n)

给出编号

6 7 8 9
vyswwuz2

vyswwuz22#

如果你修正了你的意图,你的代码是完全正确的。

list = [2, 3, 4, 5, 6, 7, 8, 9]
n = 5

def filter_list (list, n):
    for i in range(len(list)):
        if list[i] > n:
            print (list[i],end =' ')

print(filter_list (list, n))

输出:6 7 8 9
而且你不需要调用函数。如果我们使用列表压缩,我们可以提高速度和代码可读性👩‍💻

list = [2, 3, 4, 5, 6, 7, 8, 9]

n = 5

print(list(i for i in List if i > n))
ctrmrzij

ctrmrzij3#

如果在if语句前给予缩进,则代码可以正常工作

list = [2, 3, 4, 5, 6, 7, 8, 9]
n = 5

def filter_list (list, n):
    for i in range(len(list)):
        if list[i] > n:
            print (list[i])

filter_list (list, n)

或者您可以尝试以下代码:

list1 = [2, 3, 4, 5, 6, 7, 8, 9]
n = 5

for i in list1 :
    if i > n:
        print(I)

希望这对你有帮助:)

相关问题