Ich brauche Hilfe bei meiner Informatik Hausaufgabe

Aufrufe: 1050     Aktiv: 26.10.2020 um 23:22

1

Ich muss ein Programm in VSCode (Python) erstellen, bei dem ich in eine Liste Namen der Schüler eintragen kann, zudem die Punktzahl. Am Ende soll durch einen Knopfdruck der Durchschnitt des Kurses angezeigt werden. Ich habe jetzt bereits die Liste und kann dort mit einem Button Namen eintragen. Schwer wird es für mich, wenn es um den Durchschnitt geht. Zudem weiß ich nicht genau wie ich die zwei Rahmen genau nebeneinander packen kann. Ich bedanke mich für die Hilfe schon mal im Voraus!

Diese Frage melden
gefragt

Punkte: 15

 

Wenn du den Code, den du bereits hast hochlädst ist es einfacher dir zu helfen.

  ─   gullideckel 26.10.2020 um 20:11

Oh, ganz vergessen.
import tkinter
class classic:
def init(self):
self.fenster=tkinter.Tk()
self.rahmen=tkinter.Frame(master=self.fenster)
self.rahmen.pack()
self.entry=tkinter.Entry(master=self.rahmen)
self.entry.pack()
self.button=tkinter.Button(master=self.rahmen,command=self.button)
self.button.pack()
self.listbox=tkinter.Listbox(master= self.rahmen)
self.listbox.pack()
self.fenster.mainloop()

def button(self):
self.listbox.insert("end",self.entry.get())

def main():
Info=classic()
main()

  ─   classic. 26.10.2020 um 20:13
Kommentar schreiben
1 Antwort
0

Hier wäre eine Lösung der Aufgabe: Wenn du hier in die Liste die Namen und dahinter (in der selben Zeile) die Punktzahl eingibtst und auf den Button klickst, dann wird der Durchschnitt ausgerechnet.

MFG

import tkinter

class classic:

def __init__(self):
    self.anzahl_eintraege = 0
    self.fenster=tkinter.Tk()
    self.rahmen=tkinter.Frame(master=self.fenster)
    self.rahmen.pack()
    self.entry=tkinter.Entry(master=self.rahmen)
    self.entry.pack()
    self.button=tkinter.Button(master=self.rahmen,command=self.button)
    self.button.pack()
    self.listbox=tkinter.Listbox(master= self.rahmen)
    self.listbox.pack()
    self.button2 = tkinter.Button(master=self.rahmen, command=self.durchschnitt, text="Durchschnitt")
    self.button2.pack()
    self.fenster.mainloop()

def button(self):
    self.anzahl_eintraege += 1
    self.listbox.insert("end",self.entry.get())

def durchschnitt(self):
    alle_eintraege = []
    for i in range(0, self.anzahl_eintraege):
        alle_eintraege.append(self.listbox.get(i))
        alle_eintraege[i] = alle_eintraege[i].split()[1]
    gesamt_punktzahl = 0
    for i in alle_eintraege:
        gesamt_punktzahl += int(i)

    self.label = tkinter.Label( master=self.rahmen, text= "Durchschnitt: " +  str(gesamt_punktzahl/self.anzahl_eintraege))
    self.label.pack()

def main():

    Info = classic()

main()

Diese Antwort melden
geantwortet

Schüler, Punkte: 10

 

Danke für die Mühe, ich kriege aber weiterhin Fehlermeldungen. Ich bedanke mich trotzdem.

  ─   classic. 26.10.2020 um 22:11

Welche Fehlermeldungen werden denn angezeigt und welche Python Version benutzt du? Ich habe es mit Python 3.8 fehlerfrei ausführen können. Überprüfe am besten noch ob die Einrückungen stimmen.

  ─   gullideckel 26.10.2020 um 23:22

Kommentar schreiben