Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
lehrkraefte:sbt:informatik:glf22:python:little-programming-tasks [2022/12/09 08:35] Karlheinz Schubert |
lehrkraefte:sbt:informatik:glf22:python:little-programming-tasks [2022/12/09 11:43] Karlheinz Schubert [Vokabeltrainer] |
||
---|---|---|---|
Line 40: | Line 40: | ||
</ | </ | ||
</ | </ | ||
- | |||
- | |||
---- | ---- | ||
<hidden Expertenaufgabe> | <hidden Expertenaufgabe> | ||
Line 59: | Line 57: | ||
* Ergänze das Programm so, dass du nach dem Dateinamen gefragt wirst und beliebig viele Dateien nacheinander verschlüsseln kannst. | * Ergänze das Programm so, dass du nach dem Dateinamen gefragt wirst und beliebig viele Dateien nacheinander verschlüsseln kannst. | ||
</ | </ | ||
- | |||
- | |||
</ | </ | ||
Line 67: | Line 63: | ||
<WRAP center round todo> | <WRAP center round todo> | ||
Wenn du nach einigen Prüfungen Noten hast und einen bestimmten Durchschnitt erreichen möchtest, dann kannst du die ganz leicht ausrechnen (lassen), welche Note du als nächstes schreiben musst. | Wenn du nach einigen Prüfungen Noten hast und einen bestimmten Durchschnitt erreichen möchtest, dann kannst du die ganz leicht ausrechnen (lassen), welche Note du als nächstes schreiben musst. | ||
+ | - Schreibe ein Programm, dass deine bisherigen Noten in einem Feld enthält, dich nach dem gewünschten Durchschnitt fragt und dann die Mindesnote ausgibt, die du im nächsten Test erreichen solltest. | ||
+ | - Verbessere das Programm so, dass du zusätzlich eingeben kannst, wieviele Tests noch anstehen, also wie viele Noten du noch bekommen kannst. | ||
+ | |||
+ | <hidden Hinweis1> | ||
+ | <code python> | ||
+ | while True: | ||
+ | Eingabe = input(' | ||
+ | if len(Eingabe) == 0: | ||
+ | break | ||
+ | # Umwandlung der Texteingabe in eine Dezimalzahl: | ||
+ | WunschNote = float(Eingabe) | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <hidden Hinweis2> | ||
+ | <code python> | ||
+ | Noten = [4.5, 5, 3.75, 5.5] | ||
+ | Durchschnitt_ungerundet = sum(Noten)/ | ||
+ | Durchschnitt = round(sum(Noten)/ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Vokabeltrainer ===== | ||
| | ||
- | * (a) Schreibe ein Programm, dass deine bisherigen Noten in einem Feld enthält, dich nach dem gewünschten Durchschnitt fragt und dann die Mindesnote ausgibt. | + | <WRAP center round todo> |
+ | - Lege eine Liste mit Vokabeln an: | ||
+ | <code python> | ||
+ | Vokabeln = [ | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | </ | ||
+ | |||
+ | Die Vokabeln sind in Paaren hintereinander eingetragen. | ||
- | * (b) Verbessere das Programm | + | - Frage alle Variablen der Reihe nach ab und kontrolliere, |
+ | - Erweitere das Programm um einen Abragemodus: | ||
+ | - Ergänze eine Hilfefunktion: | ||
+ | <hidden Hinweis1> | ||
+ | Da die Variablen in Paaren angeordnet sind, müssen die Indizees vielfache von zwei sein: Die abgefragte Variable 2n+0 und die Antwort 2n+1. | ||
+ | </ | ||
+ | <hidden Hinweis2> | ||
+ | <code python> | ||
+ | Antwort = input(f' | ||
+ | </ | ||
+ | </ | ||
+ | ---- | ||
+ | <hidden Expertenaufgabe1> | ||
+ | * Baue das Programm so um, dass du die Übersetzungsrichtung wählen kannst. | ||
+ | </ | ||
+ | <hidden Expertenaufgabe2> | ||
+ | * Erweitere das Programm so, dass du auswertest, wie viel richtige und falsche Antworten du gegeben hast. | ||
+ | </ | ||
+ | <hidden Expertenaufgabe2> | ||
+ | * Erweitere das Programm so, dass du es für mehr als zwei Sprachen verwenden kannst. | ||
+ | </ | ||
+ | <hidden Lösung> | ||
+ | <code python> | ||
+ | """ | ||
+ | Vokabeltrainer | ||
+ | """ | ||
+ | from random import randint | ||
+ | |||
+ | Vokabeln = [ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ] | ||
+ | Richtige = [] | ||
+ | Zaehler_richtig = 0 | ||
+ | Zaehler_falsch = 0 | ||
+ | while True: | ||
+ | Mode = input(' | ||
+ | if Mode == ' | ||
+ | break | ||
+ | print(' | ||
+ | |||
+ | while True: | ||
+ | index = randint(0, len(Vokabeln)// | ||
+ | # | ||
+ | if index in Richtige: | ||
+ | if len(Richtige)==len(Vokabeln)// | ||
+ | break | ||
+ | continue | ||
+ | deutsch = Vokabeln[2*index] | ||
+ | englisch = Vokabeln[2*index+1] | ||
+ | if Mode == ' | ||
+ | Frage = deutsch | ||
+ | Antwort = englisch | ||
+ | else: | ||
+ | Frage = englisch | ||
+ | Antwort = deutsch | ||
+ | Test = input(f' | ||
+ | if len(Test) == 0: | ||
+ | break | ||
+ | if Antwort == Test: | ||
+ | print(' | ||
+ | Zaehler_richtig += 1 | ||
+ | Richtige.append(index) | ||
+ | else: | ||
+ | print(' | ||
+ | Zaehler_falsch += 1 | ||
+ | |||
+ | print(f' | ||
+ | print(' | ||
+ | |||
+ | </ | ||
+ | </ | ||
</ | </ |