Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:glf20:programmieren:listen2 [2020/11/20 08:03] mirco.triner |
lehrkraefte:blc:informatik:glf20:programmieren:listen2 [2020/11/20 08:53] (current) mirco.triner |
||
---|---|---|---|
Line 62: | Line 62: | ||
<WRAP todo> | <WRAP todo> | ||
===Kopfrechen-Trainer=== | ===Kopfrechen-Trainer=== | ||
- | Erstellen Sie ein Programm, welches den Benutzer nach einfachen Rechnungen fragt. | + | Erstellen Sie ein Programm, welches den Benutzer nach einfachen Rechnungen fragt. Verwendet werden soll die Addition und die Subtraktion. |
Speichern Sie dabei die Fragen und Antworten in einer Liste. Wählen Sie eine Abbruchbedingung (Beispielsweise Eingabe von ' | Speichern Sie dabei die Fragen und Antworten in einer Liste. Wählen Sie eine Abbruchbedingung (Beispielsweise Eingabe von ' | ||
+ | </ | ||
- | * Überlegen Sie sich, wo Probleme | + | <WRAP todo> |
+ | Erweitern Sie Ihr Programm, indem die eingegebenen Fragen und Antworten ausgewertet werden. Geben Sie folgendes aus: | ||
+ | |||
+ | * | ||
+ | |||
+ | * Anzahl richtig beantworteter Fragen | ||
+ | |||
+ | * Prozentzahl der richtigen Antworten | ||
+ | </ | ||
+ | |||
+ | <WRAP todo> | ||
+ | Erweitern Sie das Programm mit den Funktionen der Multiplikation und der Division. | ||
</ | </ | ||
Line 102: | Line 114: | ||
print(liste[i]) | print(liste[i]) | ||
| | ||
+ | </ | ||
+ | < | ||
+ | #Aufgabe 2a | ||
+ | #Einfache Rechnungen mit + und - | ||
+ | from random import * | ||
+ | |||
+ | liste = [] | ||
+ | |||
+ | while True: | ||
+ | listeElement = [] | ||
+ | funktion = randint(1, | ||
+ | if funktion == 1: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append(" | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append(eingabe) | ||
+ | else: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append(" | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append(eingabe) | ||
+ | liste.append(listeElement) | ||
+ | |||
+ | print(liste) | ||
+ | |||
+ | </ | ||
+ | < | ||
+ | #Aufgabe 2b | ||
+ | #Auswertung zu + und - (dieser Code läuft nicht ohne die Berechnung aus Aufgabe 2a) | ||
+ | |||
+ | anzahlRichtigerAntworten = 0 | ||
+ | |||
+ | for element in liste: | ||
+ | if element[1] == " | ||
+ | resultat = element[0] + element[2] | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | else: | ||
+ | resultat = element[0] - element[2] | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | | ||
+ | print(len(liste)) | ||
+ | print(anzahlRichtigerAntworten) | ||
+ | print(anzahlRichtigerAntworten/ | ||
+ | </ | ||
+ | < | ||
+ | #Aufgabe 2c | ||
+ | #Einfache Rechnungen mit +, -, * & / | ||
+ | #Mögliche Probleme: | ||
+ | #-Benutzer kann bei Divisionen nur eine gewisse Anzahl stellen eingeben | ||
+ | #-einfache Rechnungen bedarfen bei der Multiplikation an kleineren Zahlen | ||
+ | from random import * | ||
+ | |||
+ | liste = [] | ||
+ | |||
+ | while True: | ||
+ | listeElement = [] | ||
+ | funktion = randint(1, | ||
+ | if funktion == 1: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append(" | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append(eingabe) | ||
+ | elif funktion == 2: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append(" | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append(eingabe) | ||
+ | elif funktion == 3: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append(" | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append(eingabe) | ||
+ | else: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append("/" | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append(eingabe) | ||
+ | liste.append(listeElement) | ||
+ | | ||
+ | |||
+ | anzahlRichtigerAntworten = 0 | ||
+ | |||
+ | for element in liste: | ||
+ | if element[1] == " | ||
+ | resultat = element[0] + element[2] | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | elif element[1] == " | ||
+ | resultat = element[0] - element[2] | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | elif element[1] == " | ||
+ | resultat = element[0] * element[2] | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | else: | ||
+ | resultat = element[0] / element[2] | ||
+ | resultat = round(resultat, | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | | ||
+ | print(len(liste)) | ||
+ | print(anzahlRichtigerAntworten) | ||
+ | print(anzahlRichtigerAntworten/ | ||
+ | </ | ||
+ | < | ||
+ | #Aufgabe 2d | ||
+ | #Einfache Rechnungen mit +, -, * & / inkl. Start und Endzeit | ||
+ | |||
+ | from random import * | ||
+ | import time | ||
+ | from datetime import datetime | ||
+ | |||
+ | liste = [] | ||
+ | start = datetime.now() | ||
+ | |||
+ | while True: | ||
+ | listeElement = [] | ||
+ | funktion = randint(1, | ||
+ | if funktion == 1: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append(" | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append(eingabe) | ||
+ | elif funktion == 2: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append(" | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append(eingabe) | ||
+ | elif funktion == 3: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append(" | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append(eingabe) | ||
+ | else: | ||
+ | zahl1 = randint(1, | ||
+ | zahl2 = randint(1, | ||
+ | eingabe = input(" | ||
+ | if eingabe == ' | ||
+ | break | ||
+ | else: | ||
+ | listeElement.append(zahl2) | ||
+ | listeElement.append("/" | ||
+ | listeElement.append(zahl1) | ||
+ | listeElement.append(eingabe) | ||
+ | liste.append(listeElement) | ||
+ | | ||
+ | end = datetime.now() | ||
+ | anzahlRichtigerAntworten = 0 | ||
+ | |||
+ | for element in liste: | ||
+ | if element[1] == " | ||
+ | resultat = element[0] + element[2] | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | elif element[1] == " | ||
+ | resultat = element[0] - element[2] | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | elif element[1] == " | ||
+ | resultat = element[0] * element[2] | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | else: | ||
+ | resultat = element[0] / element[2] | ||
+ | resultat = round(resultat, | ||
+ | if resultat == element[3]: | ||
+ | anzahlRichtigerAntworten += 1 | ||
+ | | ||
+ | print(len(liste)) | ||
+ | print(anzahlRichtigerAntworten) | ||
+ | print(anzahlRichtigerAntworten/ | ||
+ | print(end - start) | ||
</ | </ | ||