Missverständnis

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
johnlein
User
Beiträge: 3
Registriert: Sonntag 27. März 2005, 18:30

Sonntag 17. April 2005, 19:02

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.
johnlein
User
Beiträge: 3
Registriert: Sonntag 27. März 2005, 18:30

Sonntag 17. April 2005, 20:57

Der error ist auf der Zeile

tempVar = self.student.setQuizOne(gradeQuizOne)

Python meint die variable student existiert in der klasse nicht.
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sonntag 17. April 2005, 21:14

Kann es sein, das in der __init__() auch self.student statt nur student heißen muß?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
johnlein
User
Beiträge: 3
Registriert: Sonntag 27. März 2005, 18:30

Sonntag 17. April 2005, 21:29

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
Antworten