使用statistics.mean从得分范围中获得成绩

时间:2016-06-15 14:57:17

标签: python statistics

我正在做一个CodeWars kata,我仍然是python的新手。练习需要一个人完成这个功能,以便找到传递给它的三个分数的平均值,并返回与该分数相关的字母值。

我试图在我的文本编辑器中执行此操作并运行它不会产生任何结果。在运行该功能之前,我尝试使用各种数字设置s1,s2,s3。

任何提示或想法?提前谢谢。

代码如下。对于糟糕的缩进道歉,因为我不熟悉我在这里可以这样做。

import statistics
def get_grade(s1, s2, s3):
avg_grade = (statistics.mean([s1, s2, s3]))

if avg_grade <=90 and avg_grade <=100: 
    print("A")
elif avg_grade <=80 and avg_grade <=90: 
    print("B")
elif avg_grade <=70 and avg_grade <=80: 
    print("C")
elif avg_grade <=60 and avg_grade <=70: 
    print("D")
elif avg_grade <=0 and avg_grade <=60: 
    print("F")`

1 个答案:

答案 0 :(得分:1)

你有几个小问题,我很确定在所有条件的第一个条款中你的意思是>=而不是<=。此外,当使用python script.py运行python脚本时,脚本需要在最后调用该方法才能执行。这是修改后的代码。

import statistics
def get_grade(s1, s2, s3):
    avg_grade = (statistics.mean([s1, s2, s3]))

    if avg_grade >=90 and avg_grade <=100: 
        print("A")
    elif avg_grade >= 80 and avg_grade < 90: 
        print("B")
    elif avg_grade >= 70 and avg_grade < 80: 
        print("C")
    elif avg_grade >= 60 and avg_grade < 70: 
        print("D")
    elif avg_grade >= 0 and avg_grade < 60: 
        print("F")

if __name__ == "__main__":
    get_grade(90, 95, 100)

此外,如果您想从终端检索值(在本例中为90,95,100),请查看input()raw_input() here