首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我怎样才能让我的函数把它的输出加在一起?

我怎样才能让我的函数把它的输出加在一起?
EN

Stack Overflow用户
提问于 2018-08-14 08:47:59
回答 3查看 195关注 0票数 0

到目前为止,这是我的代码行,

代码语言:javascript
复制
def Adder (i,j,k):
    if i<=j:
        for x in range (i, j+1):
            print(x**k)
    else:
        print (0)

它应该做的是得到输入(i,j,k),这样i,j之间的每个数字都乘以k的幂。例如,Adder(3,6,2)将是3^2 + 4^2 + 5^2 + 6^2,最终输出86。我知道如何让函数输出i和j之间的数字列表的K次方,但我不知道如何使它使函数对输出求和。因此,在我的给定示例中,我的输出将是9,16,25,36。

有没有可能,在我的if条件下,我可以生成一个输出,在K的幂之后,将范围内的数字相加?

如果有人能给我一些建议,我将不胜感激!任何编码的第一周,我都不太知道如何问这个问题,非常抱歉我的含糊其辞!

现在问题得到了回答,感谢所有反应如此迅速的人!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-14 08:55:33

您可以使用内置函数sum()

代码语言:javascript
复制
def adder(i,j,k):
    if i <= j:
        print(sum(x**k for x in range(i,j+1)))
    else:
        print(0)

文档为here

票数 3
EN

Stack Overflow用户

发布于 2018-08-14 08:51:53

我不确定这是不是你想要的

代码语言:javascript
复制
if i<=j:
sum = 0
for x in range (i, j+1):
    sum = sum + x**k #sum += x**k for simplicity

这会给你力量的总和

票数 1
EN

Stack Overflow用户

发布于 2018-08-14 08:55:41

好吧,不要使用打印。像这样修改你的函数很容易,

代码语言:javascript
复制
if i<=j:
    s = 0
    for x in range (i, j+1):
        s += x**k
    return s  # print(s) if you really want to
else:
    return 0

通常,函数不打印任何内容。相反,它们返回调用者的值以进行打印或进一步处理。例如,有人可能想要查找Adder(3, 6, 2)+1的值,但如果您不返回任何内容,他们就无法做到这一点,因为结果不会传递给程序。附注:不要将函数大写。这些是用来上课的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51832310

复制
相关文章

相似问题

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