mit Python ein "Notenprogramm" schreiben

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
so.egal
User
Beiträge: 11
Registriert: Donnerstag 14. April 2022, 14:47

Hi,
ich möchte eine komplizierte Excel-Tabelle mit vielen VBA-Codes und Berechnungen auf verschiedenen Sheets, in ein eigenständiges Programm umschreiben. In welche Bereiche oder Module muss ich mich einarbeiten. Ich bin quasi gerade am Anfang und bräuchte euren Rat. Ich habe mich etwas eingelesen und vermute ich benötige etwas, was mir die Datenbank "repräsentiert", weiß aber nicht was genau ich da brauche. Hat jemand vielleicht eine Auflistung, mit was ich mich befassen muss?

LG Tina
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Hallo Tina,

das kann dir niemand beantworten, denn man weiß nicht, was genau dein Programm können soll.
Handelt es sich um ein lokales Programm oder möchtest du es als Webanwendung umsetzen? Braucht es eine grafische Oberfläche?
Am besten solltest du einmal ausführlich erklären, was genau das Programm machen sol - dann kann man etwas dazu sagen.
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Erst einmal ein Grundlagentutorial durcharbeiten, dann je nach Komplexität der Berechnungen Pandas.
so.egal
User
Beiträge: 11
Registriert: Donnerstag 14. April 2022, 14:47

sparrow hat geschrieben: Donnerstag 14. April 2022, 16:04 Hallo Tina,

das kann dir niemand beantworten, denn man weiß nicht, was genau dein Programm können soll.
Handelt es sich um ein lokales Programm oder möchtest du es als Webanwendung umsetzen? Braucht es eine grafische Oberfläche?
Am besten solltest du einmal ausführlich erklären, was genau das Programm machen sol - dann kann man etwas dazu sagen.
Hi,

Kurz gefasst: Für jede Klassenarbeit soll es ein Blatt geben auf dem man Punkte für die einzelnen Aufgaben eingibt. auf dieser Seite soll dann die Berechnung der Note durch eine Formel stattfinden. Dann soll es einen Brief ausgeben auf dem in einer Tabelle angekreuzt wird, ob die einzelne Aufgabe "voll erreicht", "überwiegend erreicht", "teilweise erreicht" oder "nicht erreicht" wurde.
In einer Übersicht sollen dann mehrere Klassenarbeiten mit Note und Ausprägung ("...erreicht") dargestellt werden.

LG Tina
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Verbleibt noch die Frage ob nur eine Person isoliert damit arbeiten soll oder ob es verschiedene Benutzer gibt und die Daten für die Schüler zentral gespeichert werden.
so.egal
User
Beiträge: 11
Registriert: Donnerstag 14. April 2022, 14:47

Es soll nur eine Person damit arbeiten.
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Zum Grundlegenden Einstieg eignet sich, wie oben bereits angemerkt, das offizielel Tutorial aus der Dokumentation.

Dann scheinst du eine grafische Oberfläche zu benötigen. Python selbst kommt (in der Regel) mit dem Modul tkinter, das das tk Framework für die Anzeige von Elementen verwendet.
Hier gleich die Warnung: Die Programmierung von grafischen Oberflächen ist komplex und unterscheidet sich von dem Schreiben nicht grafischer Programm stark dadurch, dass die Struktur des Programms auf "Events" basiert. Also Dinge die eintreten können und dann Dinge im Code auslösen. Außerdem kommt man nicht drum herum sich mit Objektorientierter Programmierung zu befassen.

Falls du noch gar keine Erfahrung im Programmieren hast, ist das bis zu diesem Punkt schon eine nicht zu unterschätzende Aufgabe. Gerade im Bereich der grafischen Oberfläche.

Das Speichern kann man in einer Datenbank machen. Python kommt hier mit dem Modul sqlite. Ich würde dringend dazu raten, sqlalchemy für den Zugriff zu verwenden.

Soweit einige Stichwörter.
so.egal
User
Beiträge: 11
Registriert: Donnerstag 14. April 2022, 14:47

Ok. Danke für die Ausführung. Mit TKinter habe ich mich heute schon etwas besfasst. Und auf die anderen Begriffe bin ich auch schon gestoßen. Danke für das Eingranzen. Das hilft mir sehr.

LG
Antworten