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