python - 编写函数 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: 为真时打印一行
解决方案
只需将 if 语句中的换行符打印为 endline 字符串:
def mult3(lst):
for num in lst:
if num % 3 == 0:
print(num, end='\n')