Seite 1 von 1

Missverständnis

Verfasst: Sonntag 17. April 2005, 19:02
von johnlein
Ok, Ich soll für die schule ein Programm in Java schreiben. Ich habe mir nen Prototypen in Python gebastelt da ich Python vorziehe. Mein Problem ist das ich nen Fehler kriege den ich mir nicht erklären kann der von irgend einem Missverständnis meinerseits rühren muss. Ich kann zwar jetzt mit meinem Java Programm anfangen aber würde gerne wissen was ich falsch mache.

Code: Alles auswählen

class StudentManager:
    def __init(self):
        student = StudentGrades()
        
    def getStudentGrades(self):
        gradeQuizOne = int(raw_input("Enter the numeric grade (0-10) for Quiz one: "))
        print type(gradeQuizOne)
        tempVar = self.student.setQuizOne(gradeQuizOne)
        while not tempVar:
            gradeQuizOne = int(raw_input("Enter the numeric grade (0-10) for Quiz one: "))
            tempVar = self.student.setQuizOne(gradeQuizOne)
        gradeQuizTwo = int(raw_input("Enter the numeric grade (0-10) for Quiz two: "))
        tempVar = self.student.setQuizTwo(gradeQuizTwo)
        while not tempVar:
            gradeQuizTwo = int(raw_input("Enter the numeric grade (0-10) for Quiz two: "))
            tempVar = self.student.setQuizTwo(gradeQuizTwo)
        gradeMidterm = int(raw_input("Enter the numeric grade (0-100) for the Midterm: "))
        tempVar = self.student.setMidterm(gradeMidterm)
        while not tempVar:
            gradeMidterm = int(raw_input("Enter the numeric grade (0-100) for the Midterm: "))
            tempVar = self.student.setMidterm(gradeMidterm)
        gradeFinal = int(raw_input("Enter the numeric grade (0-100) for the Final: "))
        tempVar = self.student.setFinal(gradeFinal)
        while not tempVar:
            gradeFinal = int(raw_input("Enter the numeric grade (0-100) for the Final: "))
            tempVar = self.student.setFinal(gradeFinal)
        return

    def printStudentGrades(self):
        tempVar = self.student.getGrade
        if(tempVar >= 0):
            print("The student has ", tempVar, " out of 100 percent")
            if(tempVar >=90):
                print("The student earned an A.")
            elif(80 <= tempVar < 90):
                print("The student earned a B.")
            elif(70 <= tempVar < 80):
                print("The student earned a C.")
            elif(60 <= tempVar < 70):
                print("The Student earned a D.")
            else:
                print("The Student earned an F.")
            return
        else:
            print("An error has occurred, try entereing tha data again.")
            return
Edit (Leonidas): Code in Python Tags gesetzt.

Verfasst: Sonntag 17. April 2005, 20:57
von johnlein
Der error ist auf der Zeile

tempVar = self.student.setQuizOne(gradeQuizOne)

Python meint die variable student existiert in der klasse nicht.

Verfasst: Sonntag 17. April 2005, 21:14
von jens
Kann es sein, das in der __init__() auch self.student statt nur student heißen muß?

Verfasst: Sonntag 17. April 2005, 21:29
von johnlein
Ich hab den Fehler gefunden und beseitigt. Jens, du hast mich drauf gebracht. Ich hatte zuvor self.student und habe das self entfernt um zu sehen ob das was ändert. Daran alleine lag es aber nicht ich hab __init() anstelle von __init__() geschrieben. Die Kombination hat den Fehler verursacht. :D

Danke