Что я делаю неправильно? Ошибка трассировки для Python - PullRequest
1 голос
/ 24 марта 2019

У меня есть этот код, который должен распечатать оценку Фреда со средним баллом 87 и окончательным баллом 92. Что мне не хватает?

Это для домашнего задания, и мой учитель говорит, что ему нужночтобы быть отформатированным таким образом, и когда она сделала это, код запустился, но он не работает для меня.

print("Section 7.1 Practice Problem 1")
print("Answer to Problem 1 =")


def __init__(self):
    st = LGstudent
    name = input("Enter student's name: ")
    st.setName(name)
    midterm = float(input("Enter student's grade on midterm exam: "))
    st.setMidterm(midterm)
    final = float(input("Enter student's grade on final exam: "))
    st.setFinal(final)
    print("\nNAME\tGRADE")
    print(st)


class LGstudent:
    def __init__(self, name="", midterm=0, final=0):
        self._name = name
        self._midterm = midterm
        self._final = final

    def setName(self, name):
        self._name = name

    def setMidterm(self, midterm):
        self._midterm = midterm

    def setFinal(self, final):
        self._final = final

    def calcSemGrade(self):
        average = (self._midterm + self._final) / 2
        average = round(average)
        if average >= 90:
            return "A"
        elif average >= 80:
            return "B"
        elif average >=70:
            return "C"
        elif average >=60:
            return "D"
        else:
            return "F"

    def __str__(self):
        return self._name + "\t" + self.calcSemGrade()

Каждый раз, когда я печатаю, я получаю сообщение об ошибке отслеживания, говорящее, что st.setName не заполнено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...