2016-04-11 2 views
-2

• Определите функцию, которая предложит пользователю ввести действительные баллы, пока они не введут значение дозорного -999. Эта функция создает и возвращает список этих баллов. Не храните -999 в списке! • Идет main(), затем передайте этот список второй функции, которая пересекает список результатов, печатающих их вместе с их соответствующим классом.Python 3- назначает оценки

У меня возникла проблема с функцией getGrade, она дает ошибку для i в классах: имя «оценки» не определено.

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

Ваша функция называется 'getScore', а не' getScores' –

ответ

2

Вы определили свою функцию быть getScore(), но вы вызываете getScores(), так как можно было бы ожидать, это выдает ошибку, потому что функция вы вызываете на самом деле не существует/не определен.

Добавление: Так как вы изменили свой вопрос, после устранения предыдущей ошибки.

Аналогично вы звоните grades, но grades определяется в вашей другой функции не в пределах функции, где вы пытаетесь перебрать grades.

+0

Большое вам спасибо –

Смежные вопросы