2016-04-11 6 views
-2

•有効値を入力するようにユーザーに指示する関数を定義し、その値がセンチネル値-999を入力します。この関数は、これらのスコアのリストを作成して返します。 -999をリストに保存しないでください! •main()を使用して、リストを2番目の関数に渡して、適切な等級とともにそれらを出力するスコアのリストをトラバースします。Python 3はグレードを割り当てます

getGrade関数に問題があります。これは、グレードでiのエラーを示します。name 'grades'は定義されていません。

def main(): 
    grade = getScore() 
    print(getGrade(grade)) 

def getScore(): 
    grades = [] 
    score = int(input("Enter grades (-999 ends): ")) 
    while score != -999: 
     grades.append(score) 
     score = int(input("Enter grades (-999 ends): ")) 
    return grades 

def getGrade(score): 
    best = 100 
    for i in grades: 
     if score >= best - 10: 
     print(" is an A") 
     elif score >= best - 20: 
     print(score, " is a B") 
     elif score >= best - 30: 
     print(score, " is a C") 
     elif score >= best - 40: 
     print(score, " is a D") 
     else: 
     print(score, "is a F") 

main() 
+0

あなたの関数は 'getScores'ではなく' getScore'という名前です –

答えて

2

あなたが呼び出している関数は、実際に/が定義されていない存在しないため、これはエラーをスロー予想されるように、あなたはgetScore()ようにあなたの関数を定義していますがgetScores()を呼んでいます。

補遺:あなたは前のエラーを修正した後、あなたの質問を変更したので。

同様に、あなたはgradesを呼んでいるが、gradesは、あなたがgradesを反復処理しようとしている機能の範囲内で、あなたの他の機能ないで定義されています。

+0

ありがとう –

関連する問題