首页 > 解决方案 > 编写函数 mult3(),将整数列表作为输入,并仅打印 3 的倍数,每行一个

问题描述

我需要编写一个执行以下操作的函数: 1. 将列表作为输入。2. 只打印 3 的倍数,每行一个。

我想出了任务 1,但我在每行部分的一个上被困在 2 上。

def mult3(lst):
    for num in lst:
        if num % 3 == 0:
            print(num, end=' ')
        print()

我知道问题出在最后一个 print() 函数中,在当前代码中它仍然打印一个新行,但只是将其留空。我认为发生这种情况是因为:

    for num in lst:
        if num % 3 == 0:  
        print()

即使数字不是 3 的倍数,也会打印一行。这是有道理的,但我不知道如何仅在 num % 3 == 0: 为真时打印一行

标签: python

解决方案


只需将 if 语句中的换行符打印为 endline 字符串:

def mult3(lst):
    for num in lst:
        if num % 3 == 0:
            print(num, end='\n')

推荐阅读