Python 编写函数mult3(),该函数接受整数列表作为输入,并仅打印3的倍数,每行一个
我需要编写一个函数,该函数执行以下操作: 1.将列表作为输入。 2.仅打印3的倍数,每行一个 我算出了任务1,但我被困在每行一个部分的2上Python 编写函数mult3(),该函数接受整数列表作为输入,并仅打印3的倍数,每行一个,python,Python,我需要编写一个函数,该函数执行以下操作: 1.将列表作为输入。 2.仅打印3的倍数,每行一个 我算出了任务1,但我被困在每行一个部分的2上 def mult3(lst): for num in lst: if num % 3 == 0: print(num, end=' ') print() 我知道问题出在最后一个print()函数中,在当前代码中,它仍然打印新行,但只是将其留空。我认为这是因为: for num in l
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的倍数,也将打印一行。这是有道理的,但我不知道如何仅在if num%3==0:为真时打印一行只需将if语句中的新行字符打印为结束行字符串:
def mult3(lst):
for num in lst:
if num % 3 == 0:
print(num, end='\n')
如果它们应该在单独的行上,为什么要设置
end='
?@jornsharpe的意思是,使用print(num.emd='')而不是print(num)
。这将在您每次调用print
时自动下降一行,谢谢各位。我明白我的错误了,我不应该使用end参数。是的,只是不要将任何内容传递给end
参数。是的,但这是为了澄清。因为他使用了尾行和单独的打印来插入行