from Tkinter import * import sys name = "" date = "" PunkteProAufgabe = [] zaehler = 1 ProzentSatz = 0 Summe = 0 BestehPunkte = 0 minEins = 0 minZwei = 0 minDrei = 0 Studenten = [] StudentenPunkte = [] def SchluesselDatenAbfragen(): def WerteUebernehmen(): global name global date name = entry1.get() date = entry2.get() button1.config(text = "Weiter", command = root.destroy) def VerbergeHilfeName(): button3.config(text = "Hilfe", command = ZeigeHilfeName) def ZeigeHilfeName(): button3.config(text = "Beachte: _ anstatt Leerzeichen", command = VerbergeHilfeName) def VerbergeHilfeDatum(): button2.config(text = "Hilfe", command = ZeigeHilfeDatum) def ZeigeHilfeDatum(): button2.config(text = "Format: DD-MM-JJJJ", command = VerbergeHilfeDatum) root = Tk() root.title("Name und Datum") Label(root, text = "Name der Klausur").grid(row = 0, column = 0) Label(root, text = "Datum der Klausur").grid(row = 1, column = 0) entry1 = Entry(root) entry2 = Entry(root) entry1.grid(row = 0, column = 1, pady = 4) entry2.grid(row = 1, column = 1, pady = 4) entry1.insert(10,"Klausur") entry2.insert(10,"01-01-2000") button1 = Button(root, text = "Uebernehmen", command = WerteUebernehmen) button2 = Button(root, text = "Hilfe", command = ZeigeHilfeDatum) button3 = Button(root, text = "Hilfe", command = ZeigeHilfeName) button1.grid(row = 3, column = 1) button2.grid(row = 1, column = 2) button3.grid(row = 0, column = 2) root.mainloop() def AufgabenPunkteAbfragen(): def VerbergeHilfe(): button1.config(text = "Hilfe", command = ZeigeHilfe) def ZeigeHilfe(): button1.config(text = "Anzahl Punkte fuer jede Aufgabe eintragen", command = VerbergeHilfe) def NaechsteAufgabeEinlesen(): global zaehler zaehler += 1 tmp = "Aufgabe",str(zaehler) label1.config(text = tmp) entry1.delete(0,END) entry1.insert(10,"10") button1.config(text = "Hilfe", command = ZeigeHilfe) button2.config(text = "Weiter", command = EndeAbfragen) def EndeAbfragen(): global PunkteProAufgabe PunkteProAufgabe.append(float(entry1.get())) label1.config(text = "Waren das alle Aufgaben?") button1.config(text = "Ja", command = root.destroy) button2.config(text = "Nein", command = NaechsteAufgabeEinlesen) root = Tk() tmp = "Aufgabe",str(zaehler) root.title("Punkte fuer einzelne Aufgaben") label1 = Label(root, text = tmp) Label(root, text = "Erreichbare Punkte").grid(row = 1, column = 0) label1.grid(row = 0, column = 1) entry1 = Entry(root) entry1.grid(row = 1, column = 1, pady = 4) entry1.insert(10,"10") button1 = Button(root, text = "Hilfe", command = ZeigeHilfe) button2 = Button(root, text = "Weiter", command = EndeAbfragen) button1.grid(row = 3, column = 0) button2.grid(row = 3, column = 1) root.mainloop() def MindestPunktzahlAbfragen(): def WertUebernehmen(): global ProzentSatz ProzentSatz = float(entry1.get()) button1.config(text = "Weiter", command = root.destroy) root = Tk() root.title("Prozentsatz zum Bestehen") Label(root, text = "Prozentsatz").grid(row = 0, column = 0) entry1 = Entry(root) entry1.grid(row = 0, column = 1) entry1.insert(10,"50") button1 = Button(root, text = "Uebernehmen", command = WertUebernehmen) button1.grid(row = 1, column = 1) root.mainloop() def BewertungsSpiegelBerechnen(): global PunkteProAufgabe global ProzentSatz global Summe global BestehPunkte global minEins global minZwei global minDrei for i in range(len(PunkteProAufgabe)): Summe += PunkteProAufgabe[i] BestehPunkte = Summe * ProzentSatz/100 tmp = Summe - BestehPunkte tmp /= 4 minEins = Summe - tmp minZwei = minEins - tmp minDrei = minZwei - tmp def StudentenMaskeGenerieren(): def VerbergeHilfe(): button1.config(text = "Hilfe", command = ZeigeHilfe) def ZeigeHilfe(): button1.config(text = "Beachte: _ anstatt Leerzeichen", command = VerbergeHilfe) def NaechstenStudentEinlesen(): label1.config(text = "Name") label2.config(text = "Matrikelnummer") entry1.delete(0,END) entry2.delete(0,END) entry1.insert(10,"Max_Mustermann") entry2.insert(10,"9999999") for i in range(zaehler): entries[i].delete(0,END) entries[i].insert(10,PunkteProAufgabe[i]) button1.config(text = "Hilfe", command = ZeigeHilfe) button2.config(text = "Uebernehmen", command = UebernehmeStudent) def UebernehmeStudent(): global Studenten global StudentenPunkte tmpStudentenDaten = [] tmpPunkte = [] tmpStudentenDaten.append(int(entry2.get())) tmpStudentenDaten.append(entry1.get()) Studenten.append(tmpStudentenDaten) tmpPunkte.append(int(entry2.get())) for i in range(zaehler): tmpPunkte.append(float(entries[i].get())) StudentenPunkte.append(tmpPunkte) label1.config(text = "Waren das alle") label2.config(text = "Studenten?") button1.config(text = "Ja", command = root.destroy) button2.config(text = "Nein", command = NaechstenStudentEinlesen) global PunkteProAufgabe root = Tk() root.title("Studentendaten") label1 = Label(root, text = "Name") label2 = Label(root, text = "Matrikelnummer") label1.grid(row = 0, column = 0) label2.grid(row = 1, column = 0) Label(root, text = "Aufgabe").grid(row = 2, column = 0) Label(root, text = "Erreichte Punkte").grid(row = 2, column = 1) entry1 = Entry(root) entry2 = Entry(root) entry1.grid(row = 0, column = 1, pady = 4) entry2.grid(row = 1, column = 1, pady = 4) entry1.insert(10,"Max_Mustermann") entry2.insert(10,"9999999") entries = [] for i in range(zaehler): tmp = str(i+1) Label(root, text = tmp).grid(row = 3+i, column = 0) entries.append(Entry(root)) entries[i].grid(row = 3+i, column = 1, pady = 4) entries[i].insert(10,PunkteProAufgabe[i]) button1 = Button(root, text = "Hilfe", command = ZeigeHilfe) button2 = Button(root, text = "Uebernehmen", command = UebernehmeStudent) button1.grid(row = 0, column = 2) button2.grid(row = 1, column = 2) root.mainloop() def GesamtNoteBerechnen(): global Studenten global StudentenPunkte global minEins global minZwei global minDrei global BestehPunkte for i in range(len(Studenten)): tmpSumme = 0 for j in range(1,len(StudentenPunkte[i])): tmpSumme += StudentenPunkte[i][j] print tmpSumme if tmpSumme < BestehPunkte: Studenten[i].append(5.0) elif tmpSumme < minDrei: Studenten[i].append(4.0) elif tmpSumme < minZwei: Studenten[i].append(3.0) elif tmpSumme < minEins: Studenten[i].append(2.0) else: Studenten[i].append(1.0) # Hauptprogramm SchluesselDatenAbfragen() AufgabenPunkteAbfragen() MindestPunktzahlAbfragen() BewertungsSpiegelBerechnen() StudentenMaskeGenerieren() GesamtNoteBerechnen() print Studenten