LU12.A03 - Lotto
Ausgangslage
Mit der Applikation „Lotto“ können Benutzer Ihr persönliches Lotto-Konto verwalten. Die Benutzer können:
- Ein- und Auszahlungen vornehmen
- Spieltipps mit ihren 6 Zahlen + Jokerzahl abgeben. Jeder Spieltipp kostet CHF 2.00
Screenshots
Passwort
Passwort > abcdefg Passwort falsch Passwort > passWORT
Hauptmenu
Lotto --------- A) Konto Ein- und Auszahlungen tätigen B) Lottotipps abgeben Z) Beenden Ihre Wahl > q Bitte geben Sie eine gültige Wahl ein Ihre Wahl >
Ein- / Auszahlungen
Aktueller Kontostand: 6.0 Auswahl (A, E oder Z) > E Betrag Einzahlung > 5 Betrag muss zwischen 10.00 und 20.00 sein Betrag Einzahlung > 3a Geben Sie eine Zahl ein Betrag Einzahlung > 12 Neuer Kontostand: 18.0 Auswahl (A, E oder Z) >
Lottoschein
1. Zahl: Geben Sie eine Zahl von 1 bis 42 ein > a Bitte geben Sie eine Ganzzahl ein 1. Zahl: Geben Sie eine Zahl von 1 bis 42 ein > 12 2. Zahl: Geben Sie eine Zahl von 1 bis 42 ein > 2.4 Bitte geben Sie eine Ganzzahl ein 2. Zahl: Geben Sie eine Zahl von 1 bis 42 ein > 1 3. Zahl: Geben Sie eine Zahl von 1 bis 42 ein > 12 Bitte geben Sie eine Zahl ein, die Sie nicht schon gewählt haben 3. Zahl: Geben Sie eine Zahl von 1 bis 42 ein > 4 4. Zahl: Geben Sie eine Zahl von 1 bis 42 ein > 9 5. Zahl: Geben Sie eine Zahl von 1 bis 42 ein > 40 6. Zahl: Geben Sie eine Zahl von 1 bis 42 ein > 23 Jokerzahl: Geben Sie eine Zahl von 1 bis 6 ein > 5 X 2 3 X 5 6 7 8 X 10 11 X 13 14 15 16 17 18 19 20 21 22 X 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 X 41 42 Jokerzahl: 5 Neuer Kontostand: 18.0
Vorgehen
Bei diesem Programm arbeiten Sie als Team zusammen via GitHub. Git ist ziemlich gut darin, die Codeteile der verschiedenen Mitarbeiter zusammen zu bringen. Trotzdem braucht es ein wenig Koordination zwischen den Mitarbeitern.
Vorbereitung
- Akzeptieren Sie das Assignment im GitHub Classroom.
- Sie können die Gruppen (8 Gruppen à 2-3 Personen) selber bilden:
- Entweder: Sie erstellen eine neue Gruppe.
- Oder: Sie wählen eine bestehende Gruppe aus.
- Setzen Sie sich mit Ihrer Gruppe an einen 4er-Tisch. Es ist keine Kommunikation über die Aufgabe ausserhalb Ihrer Gruppe erlaubt.
- Klonen Sie das Repository in PyCharm.
- Erstellen Sie eine neue Python-Datei
my_test
. Falls PyCharm nachfragt, ob es die Datei mit Git verwalten soll, Lehnen Sie dies ab. - Kopieren Sie den unten stehenden Code in diese Datei.
- my_test
# TODO import(s) if __name__ == '__main__': # TODO create objects if needed # TODO call the function # TODO print the result (if applicable) pass
Die Datei my_test
hilft Ihnen, ihre Funktionen und Klassen zu testen.
- Fügen Sie einen
import
-Befehl für das Modul bzw. die Klasse ein, die Sie testen möchten. - Fügen Sie den Aufruf Ihrer Funktion ein
- Übergeben Sie allfällige Parameter.
- Geben Sie einen allfälligen Returnwert mittels
print(…)
in der Konsole aus.
Realisierung
- Suchen Sie in der Übersicht diejenigen Tasks,
- die noch von keinem Teammitglied bearbeitet werden,
- deren Vorgänger bereits abgeschlossen sind.
- Wählen Sie einen dieser offenen Task (Issue) aus.
- Tragen Sie sich als zuständige Person ein.
- Aktualisieren Sie den Stand Ihres Projekts in PyChar mittels Update Project
- Lösen Sie allfällige Merge Konflikte
- Codieren Sie die Klasse oder Funktion schrittweise. Immer wenn Sie einen Stand erreicht haben, bei dem ihr Code
- lauffähig ist und
- einen gültigen Returnwert liefert
- Commit der Änderung inkl. sinnvoller Commit Message
- Übernehmen Sie die Änderungen Ihrer Kollegen mittels Update Project
- Lösen Sie allfällige Merge Konflikte
- Push auf GitHub
- Falls die Klasse / Funktion noch nicht vollständig ist, gehen Sie wieder zu Schritt 3
Markieren Sie am Schluss den Task (Issue) als erledigt.
Testen
Unit Tests
Beim Unit Test wird eine einzelne Funktion getestet. Dabei sollen Sie gegenseitig versuchen, Fehler in den Funktionen der anderen Teammitglieder zu finden.
- Wählen Sie eine fertig programmierte Funktion eines Kollegen aus.
- Tragen Sie sich im Issue auf GitHub als zusätzlicher Mitarbeiter ein.
- Aktualisieren Sie das Projekt in PyCharm mittels Update Project
- Passen Sie Ihre Datei
my_test
so an, dass Sie die entsprechende Funktion importieren und aufrufen. - Testen Sie die Funktion mit ungewöhnlichen und kreativen Eingaben.
Falls Sie einen Fehler entdecken, ergänzen Sie das Issue auf GitHub mit einem Kommentar. Diese Kommentar muss enthalten:
- Parameter die beim Aufruf der Funktion mitgegeben wurden
- Eingaben des Benutzers
- Erwartetes Resultat
- Effektives Resultat
- Allfällige Bemerkungen
Integrationstest
Führen Sie als Team mehrere Testläufe des Programms durch. Legen Sie vor den Testläufen fest, welches Resultat erscheinen soll. Halten Sie allfällige Abweichungen fest.