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:// | ||