2016-06-15 4 views
0

私はCodeWars kataをやっていて、まだPythonには新しいです。この演習では、関数を完成させるために1つの関数が必要です。関数に渡された3つのスコアの平均を求め、そのグレードに関連付けられた文字の値を返します。statistics.meanを使用してスコアの範囲からグレードを取得する

私はテキストエディタでこれを実行しようとしましたが、実行しても結果が得られません。私は関数を実行する前に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

、私はあなたがすべての条件の最初の句に>=代わりの<=を意味かなり確信しています。また、python script.pyを使用してPythonスクリプトを実行する場合、スクリプトは最後にメソッドを呼び出す必要があります。ここに改訂コードがあります。あなたは、端末から(この場合は90、95、100で)値を取得したい場合にも

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) 

input()raw_input()hereに見えます。

関連する問題