首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编写一个函数,将另一个函数应用于python中的数字列表

编写一个函数,将另一个函数应用于python中的数字列表
EN

Stack Overflow用户
提问于 2021-01-30 02:53:14
回答 1查看 42关注 0票数 0

首先,我必须编写一个python函数,使f(n)等于

5,如果n可以被5整除,但不能被7整除

7,如果n可以被7整除,但不能被5整除

35,如果n可被7和5整除

否则为0。

我已经这样做了(如下所示)

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
def k(a, b):
    output = []
    for n in k(a, b):
        output.append(f(n))
        return output

但是我没有得到正确的结果。如果最后这一节有人能帮上忙,那就太好了。谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-01-30 02:56:46

回车缩进了太多次。它在函数被调用一次后返回,而不是在迭代完成后返回。它应该看起来像这样。

代码语言:javascript
运行
复制
def k(a, b):
    output = []
    for n in range(a, b):
        output.append(f(n))
    return output

为了缩短代码,它可以看起来像这样:

代码语言:javascript
运行
复制
def k(a, b):
    output = [f(n) for n in range(a, b)]
    return output
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65960192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档