LU12.A03 - Lotto

Ausgangslage

Mit der Applikation „Lotto“ können Benutzer Ihr persönliches Lotto-Konto verwalten. Die Benutzer können:

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

  1. Akzeptieren Sie das Assignment im GitHub Classroom.
  2. 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.
  3. Setzen Sie sich mit Ihrer Gruppe an einen 4er-Tisch. Es ist keine Kommunikation über die Aufgabe ausserhalb Ihrer Gruppe erlaubt.
  4. Klonen Sie das Repository in PyCharm.
  5. Erstellen Sie eine neue Python-Datei my_test. Falls PyCharm nachfragt, ob es die Datei mit Git verwalten soll, Lehnen Sie dies ab.
  6. 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

  1. Suchen Sie in der Übersicht diejenigen Tasks,
    • die noch von keinem Teammitglied bearbeitet werden,
    • deren Vorgänger bereits abgeschlossen sind.
  2. Wählen Sie einen dieser offenen Task (Issue) aus.
  3. Tragen Sie sich als zuständige Person ein.
  4. Aktualisieren Sie den Stand Ihres Projekts in PyChar mittels Update Project
    • Lösen Sie allfällige Merge Konflikte
  5. 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
    1. Commit der Änderung inkl. sinnvoller Commit Message
    2. Übernehmen Sie die Änderungen Ihrer Kollegen mittels Update Project
      • Lösen Sie allfällige Merge Konflikte
    3. Push auf GitHub
  6. 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.

  1. Wählen Sie eine fertig programmierte Funktion eines Kollegen aus.
  2. Tragen Sie sich im Issue auf GitHub als zusätzlicher Mitarbeiter ein.
  3. Aktualisieren Sie das Projekt in PyCharm mittels Update Project
  4. Passen Sie Ihre Datei my_test so an, dass Sie die entsprechende Funktion importieren und aufrufen.
  5. 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:

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.