Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:modul:m319:learningunits:lu12:aufgaben:lotto [2025/06/23 07:45] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m319:learningunits:lu12:aufgaben:lotto [2025/06/23 09:20] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 94.74.97.164 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== LU12.A03 - Lotto ====== | ||
+ | ===== Ausgangslage ===== | ||
+ | |||
+ | Mit der Applikation " | ||
+ | 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 | ||
+ | 7 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | 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 (6 Gruppen à 3-4 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. | ||
+ | - Um die Issues zu erhalten, trage deinen Namen ins main.py ein und '' | ||
+ | - Überprüfe dein Repo ob die Issues vorhanden sind (dauert etwa 2 Minuten, Seite aktualisieren nicht vergessen) | ||
+ | - Erstellen Sie eine neue Python-Datei '' | ||
+ | - Kopieren Sie den unten stehenden Code in diese Datei. | ||
+ | |||
+ | <file python my_test > | ||
+ | # TODO import(s) | ||
+ | |||
+ | if __name__ == ' | ||
+ | # TODO create objects if needed | ||
+ | # TODO call the function | ||
+ | # TODO print the result (if applicable) | ||
+ | pass | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Die Datei '' | ||
+ | * Fügen Sie einen '' | ||
+ | * Fügen Sie den Aufruf Ihrer Funktion ein | ||
+ | * Übergeben Sie allfällige Parameter. | ||
+ | * Geben Sie einen allfälligen Returnwert mittels '' | ||
+ | </ | ||
+ | |||
+ | ==== Realisierung ==== | ||
+ | {{de: | ||
+ | |||
+ | - 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: Issue auswählen und '' | ||
+ | - 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 | ||
+ | - Ändern Sie den Label des Issues von '' | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Der Ablauf um eine Änderung ins GitHub Repository zu transferieren ist immer: | ||
+ | - **Commit** (Festschreiben der Änderung im lokalen Repository auf Ihrem Computer). | ||
+ | - **Update Project** bzw. **Pull** (Lokales Repository mit den neuesten Änderungen von GitHub aktualisieren). | ||
+ | - **Push** (Aktualisieren des Repositories auf GitHub). | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== 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. Diese Issues haben den Label '' | ||
+ | - Tragen Sie sich im Issue auf GitHub als zusätzlicher Mitarbeiter ein. Ändern Sie den Label zu '' | ||
+ | - Aktualisieren Sie das Projekt in PyCharm mittels **Update Project** | ||
+ | - Passen Sie Ihre Datei '' | ||
+ | - Testen Sie die Funktion mit ungewöhnlichen und kreativen Eingaben bzw. Werten. | ||
+ | |||
+ | 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 | ||
+ | Ändern Sie den Label des Issues zu '' | ||
+ | |||
+ | === 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. | ||
+ | |||
+ | < | ||
+ | < | ||
+ | GitHub Repository https:// | ||
+ | |||
+ | //Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden// | ||
+ | |||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | {{tag> | ||
+ | [[https:// | ||