使用statistics.mean从分数范围获得分数

2024-06-28 20:55:55 发布

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

我正在做一个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")`

Tags: and函数s3分数codewarsavg平均值grade
1条回答
网友
1楼 · 发布于 2024-06-28 20:55:55

你有几个小问题,我很确定你在所有条件的第一个子句上是指>=而不是<=。另外,当使用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(){a1}

相关问题 更多 >