【问题标题】:code that allows to input score of five students but how to add the score of all the students允许输入五个学生的分数但如何添加所有学生的分数的代码
【发布时间】:2021-02-16 20:16:57
【问题描述】:

我是一个刚刚了解函数和类的新手。我使用带有 while 循环的 Class 创建了一个代码,该循环允许输入四个科目中五个学生的分数。现在我不知道如何将所有学生的平均分数相加,并找到五个学生的总平均分。我在这里提供完整的代码。请提出问题的所有改进和解决方案。

entry = 1
while entry <=5:
    class Marks():
            def __init__(self, name, english_marks, hindi_marks, science_marks, economics_marks):
                self.name = name
                self.english_marks = english_marks
                self.hindi_marks = hindi_marks
                self.science_marks = science_marks
                self.economics_marks = economics_marks
            def output(self):
                print("\n")
                print("Hi "+self.name.title())
                avg_marks = (self.english_marks + self.hindi_marks + self.science_marks + self.economics_marks)/4
                print("Your average score is ", avg_marks)
                print("\n")
        
    name = input("Enter your name: ")
    english_marks = int(input("Enter your English score: "))
    hindi_marks = int(input("Enter your Hindi score: "))
    science_marks = int(input("Enter your science score: "))
    economics_marks = int(input("Enter your economics score: "))
        
    j = Marks(name, english_marks, hindi_marks, science_marks, economics_marks)
    j.output()
    entry = entry + 1
        

【问题讨论】:

  • 一种简单的方法是定义一个空列表,并将每个学生每次迭代的平均分数附加到它上面。最后,只需执行all_avg = sum(name_of_list)/5 之类的操作(将 5 替换为学生人数),还可能需要将结果格式化为小数/有效数字。
  • 在循环中定义一个类是个坏主意。
  • 谢谢@JackTheCrab。附加到一个空列表解决了我的问题。尽管即便如此,我也不得不挣扎了一段时间。现在我终于能够使用来自多个条目的数据了。

标签: python class


【解决方案1】:

更新

使用每个学生的平均值创建一个变量来平均这些值 (您可以根据您的输入值在输出函数中制作五个 avg_marks 变量。)

示例:

total =(avg_marks1+avg_marks2+avg_marks3+avg_marks4+avg_marks5)/5

【讨论】:

  • 这如何回答 OP 关于“如何将所有学生的平均分数相加并找到五个学生的总平均分”的问题,确切地说?
  • 这有帮助吗?
  • 不 - 您仍然错过了最初问题的重点。 OP 正在通过循环的 5 次迭代收集 5 名“学生”的数据——问题不是要对其中一名学生进行平均,因为您试图在此处提供解决方案。他们要问的是如何平均每个Marks 对象的分数。
  • 这就够了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-15
  • 2013-08-21
  • 2021-04-21
  • 1970-01-01
  • 2022-01-14
相关资源
最近更新 更多