首先,我必须编写一个python函数,使f(n)等于
5,如果n可以被5整除,但不能被7整除
7,如果n可以被7整除,但不能被5整除
35,如果n可被7和5整除
否则为0。
我已经这样做了(如下所示)
def f(n):
if n % 5 == 0 and n % 7 != 0:
return 5
elif n % 7 == 0 and n % 5 != 0:
return 7
elif n % 7 == 0 and n % 5 == 0:
return 35
else:
return 0我现在需要创建另一个函数k(a, b),它返回一个由数字f(a),f(a+1),...,f(b)组成的列表,其中f是上面的函数。
例如,k(4,6)应该是列表f(4),f(5),f(6),它是0,5,0
这就是我到目前为止所做的。请记住,此函数需要以def k(a,b)开头,这样当我调用
例如,print (k(4, 6))将返回0,5,0
def k(a, b):
output = []
for n in k(a, b):
output.append(f(n))
return output但是我没有得到正确的结果。如果最后这一节有人能帮上忙,那就太好了。谢谢
发布于 2021-01-30 02:56:46
回车缩进了太多次。它在函数被调用一次后返回,而不是在迭代完成后返回。它应该看起来像这样。
def k(a, b):
output = []
for n in range(a, b):
output.append(f(n))
return output为了缩短代码,它可以看起来像这样:
def k(a, b):
output = [f(n) for n in range(a, b)]
return outputhttps://stackoverflow.com/questions/65960192
复制相似问题