Python函数以获得最低和平均分数

Python函数以获得最低和平均分数,python,Python,我是python编程的新手。我正在做一个课堂作业,到目前为止,我得到了下面的代码。我下一步要做的是编写一个函数,该函数将显示/打印最低分数和平均分数。任何方向都将不胜感激 scores = """Aturing:Mark$86: Inewton:Mark$67.5: Cdarwin:Mark$90: Fnightingale:Mark$99: Cvraman:Mark$10:""" students = {} for studentdata in scores.split('\n'): dat

我是python编程的新手。我正在做一个课堂作业,到目前为止,我得到了下面的代码。我下一步要做的是编写一个函数,该函数将显示/打印最低分数和平均分数。任何方向都将不胜感激

scores = """Aturing:Mark$86:
Inewton:Mark$67.5:
Cdarwin:Mark$90:
Fnightingale:Mark$99:
Cvraman:Mark$10:"""

students = {}
for studentdata in scores.split('\n'):
data = studentdata.split(':')
name = data[0]
students[name] = {}
for class_data in data[1:]:
    if class_data:
        Mark,class_score = class_data.split('$')
        students[name][Mark] = class_score

def Grade_Show(student,Mark):
    if student in students:
        if Mark in students[student]:
            print "Student %s got %s in the assignment %s" % (student,students[student][Mark],Mark)
        else:
            print "subject %s not found for student %s" % (Mark,student)
    else:
        print "student %s not found" % (student)

#do some testing
Grade_Show("Inewton","Mark")
我下一步要做的就是写一个函数 显示/打印最低分数和平均分数

第1步:

你能重复你的数据结构(
students
)并且只打印分数吗?如果你能做到这一点,那么你应该能够通过运行,并找到最低的分数

要找到最低分数,从一些想象中的最大可能值开始(例如,如果某个变量是可能的最高值,则将其设置为100),然后迭代所有分数(
对于score中的score…
,等等),测试您得到的每个值是否低于您创建的变量

如果该值较低,请使您创建的变量等于该较低的值。之后,它将继续迭代,以查看是否有任何新值小于这个新的“最低”值。当它到达终点时,它应该已经为您提供了最低的值

一个棘手的部分是确保打印名称和最低值,如果这是问题的要求

步骤:2


为了解决平均值问题,您将进行类似的操作,迭代分数,将它们添加到新的数据结构中,然后找出如何对它们进行平均

测试:
分数={'alex':1,'dave':1,'mike':2}

首先,要找到最低分数,请使用
min()
函数

因此:

其次,假设你在寻找平均值,你会这样做:

print('平均分数为:',str(sum(scores.values())/len(scores)))

输出:

Lowest score: 1. Achieved by: 
alex
dave
平均分为:1.3333

希望我能帮忙现在需要做的就是创建一个包含该代码的函数,并使用一个名为
data
的参数。这样,您就可以有多个字典来表示不同的类或测试。您将用
数据
替换代码中
分数
的所有实例


此外,“最低分数”代码可以很容易地修改为最高分数。最后,根据程序的大小,您可以将输出存储在变量中,而不是使用
print
语句,以便以后调用。这也意味着您应该
返回结果,而不是
打印结果。

您不能实现的具体内容/错误是什么?
Lowest score: 1. Achieved by: 
alex
dave