将另一个函数中多个函数的返回值求和并打印。安慰

2024-09-27 21:31:19 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我在另一个函数中对多个函数的返回值求和时遇到问题。我真的不知道怎么做。我知道该怎么办,但似乎什么都不管用。我的sum()函数缺少将所有函数连接在一起的功能。请帮助我理解这一点

def function1():
    #Asking user for score earned on assignment, max score is 100
    scoreEarned = int(input("Score earned? "))
    return scoreEarned


def function2():
    #Asking user for score earned on assignment, max score is 100
    scoreEarned = int(input("Score earned? "))
    return scoreEarned


def function3():
    #Asking user for score earned on assignment, max score is 100
    scoreEarned = int(input("Score earned? "))
    return scoreEarned


def sum():

    sum1 = function1()
    sum2 = function2()
    sum3 = function3()
    #finalSum = sum(sum1,sum2,sum3) this was an idea
    print(sum3)

def main():

    function1()
    function2()
    function3()
    sum()

main()

Tags: 函数forisondefmaxintscore
3条回答

你的sum函数覆盖了内置的sum函数。在sum function内调用sum函数将调用自身,并且由于sum函数不接受任何参数,因此将引发错误

更改sum函数的名称(或为内置sum函数创建一个钩子并调用它)以解决此问题

编辑:
您请求用户输入6次(3次在main中,3次在sum中。您可以删除main中的调用来修复此问题

sum将数组作为参数,要使它与您的代码一起工作,您可以尝试以下方法

def sum():
    ar = []
    ar.append(function1())
    ar.append(function2())
    ar.append(function3())
    sum = sum(ar)
    print(sum)
return sum

您将调用两次用于用户输入的函数,一次在main中,一次在sum函数中

您只需在main中调用它们,并传递sum的参数值,然后从sum函数返回sum:

def sum(val1, val2, val3):
     return val1+val2+val3
val1 = function1()
val2 = func......
sum = sum(val1,val2,...)

或者,您可以简单地调用sum函数并从main中删除额外调用,然后对sum函数中的值求和:

def sum():
    return function1()+function2()+function3()
def main():
    sum()

相关问题 更多 >

    热门问题