【问题标题】:Using returned outputs from one function in another in Python在 Python 中使用另一个函数返回的输出
【发布时间】:2018-12-21 20:02:36
【问题描述】:

Python 新手 - 在函数方面苦苦挣扎。 - 附上代码图片。

它通过验证检查输入名称和分数。 我需要使用用户输入的分数并将它们汇总。 但是,当我尝试求和(得分)时,它不喜欢它。 我不知道如何总结 4 个总分。

请帮助 :) 也希望对编码风格等提供任何反馈。 提前感谢x

Image: Code in Python

【问题讨论】:

  • 你能粘贴实际的代码吗?
  • 正如您在问题中所问的那样,我的回答显示了如何在另一个函数中使用从一个函数返回的输出,但代价是听起来很生气。请再次发布您的实际代码以避免投票。

标签: python function sum return store


【解决方案1】:

在没有代码供人们查看的情况下,我们有类似的东西

def get_stuff():
    for i in rnage(4):
        name = input("Name?")
        score = int(input("Score?"))

还有另一个功能

def TotalScore():
    pass

我们怎么称呼总分? 答:确保我们不会忘记用户输入并返回它们:

def get_stuff():
    names = []
    scores = []
    for i in range(4):
        names.append(input("Name?"))
        scores.append(int(input("Score?")))
    return names, scores

并在求和函数中取分数:

def TotalScore(scores):
    return sum(scores)

这当然会改变调用代码。 比如调用get_stuff时需要捕获返回:

names, scores = get_stuff()
total = TotalScores(scores)

【讨论】:

    【解决方案2】:

    我会将主函数重写为:

    def GetStudentInput():
      score = 0
      for i in range (4):
          print("Mrs Pearson's Class Test Score Data")
          name = CheckStringInput("What's Your Name: ")
          score += CheckNumericInput("What's Your Score: ")
      print(score)
    

    这消除了对额外函数的需要并避免使用列表,因为您似乎不需要其他地方的单个值 - 只需要总和。

    【讨论】:

    • 非常感谢,它做得很完美:) 我已经添加了一些额外的内容,但现在正在工作 - 感谢您的帮助! -- print("总分:" + str(score)) --
    猜你喜欢
    • 1970-01-01
    • 2020-03-27
    • 2017-06-30
    • 2017-12-14
    • 2021-11-02
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多