lehrkraefte:blc:informatik:glf20:programmieren:listen2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:glf20:programmieren:listen2 [2020/11/20 08:18]
mirco.triner
lehrkraefte:blc:informatik:glf20:programmieren:listen2 [2020/11/20 08:53] (current)
mirco.triner
Line 68: Line 68:
 <WRAP todo> <WRAP todo>
 Erweitern Sie Ihr Programm, indem die eingegebenen Fragen und Antworten ausgewertet werden. Geben Sie folgendes aus: Erweitern Sie Ihr Programm, indem die eingegebenen Fragen und Antworten ausgewertet werden. Geben Sie folgendes aus:
 +
 *  Anzahl beantworteter Fragen *  Anzahl beantworteter Fragen
 +
 *  Anzahl richtig beantworteter Fragen *  Anzahl richtig beantworteter Fragen
 +
 *  Prozentzahl der richtigen Antworten *  Prozentzahl der richtigen Antworten
 +</WRAP>
 +
 +<WRAP todo>
 +Erweitern Sie das Programm mit den Funktionen der Multiplikation und der Division. Überlegen Sie sich zuerst, welche Probleme dabei auftreten können. Versuchen Sie die evaluierten Probleme bei der Implementierung zu umgehen.
 </WRAP> </WRAP>
  
Line 107: Line 114:
     print(liste[i])     print(liste[i])
                  
 +</code>
 +<code>
 +#Aufgabe 2a
 +#Einfache Rechnungen mit + und -
 +from random import *
 +
 +liste = []
 +
 +while True:
 +    listeElement = []
 +    funktion = randint(1,2)
 +    if funktion == 1:
 +        zahl1 = randint(1,100)
 +        zahl2 = randint(1,100)
 +        eingabe = input("%d + %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            break
 +        else:
 +            listeElement.append(zahl1)
 +            listeElement.append("+")
 +            listeElement.append(zahl2)
 +            listeElement.append(eingabe)
 +    else:
 +        zahl1 = randint(1,100)
 +        zahl2 = randint(1,100)
 +        eingabe = input("%d - %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            break
 +        else:
 +            listeElement.append(zahl1)
 +            listeElement.append("-")
 +            listeElement.append(zahl2)
 +            listeElement.append(eingabe)
 +    liste.append(listeElement)
 +
 +print(liste)
 +
 +</code>
 +<code>
 +#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/len(liste)*100)
 +</code>
 +<code>
 +#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,4)
 +    if funktion == 1:
 +        zahl1 = randint(1,100)
 +        zahl2 = randint(1,100)
 +        eingabe = input("%d + %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            break
 +        else:
 +            listeElement.append(zahl1)
 +            listeElement.append("+")
 +            listeElement.append(zahl2)
 +            listeElement.append(eingabe)
 +    elif funktion == 2:
 +        zahl1 = randint(1,100)
 +        zahl2 = randint(1,100)
 +        eingabe = input("%d - %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            break
 +        else:
 +            listeElement.append(zahl1)
 +            listeElement.append("-")
 +            listeElement.append(zahl2)
 +            listeElement.append(eingabe)
 +    elif funktion == 3:
 +        zahl1 = randint(1,10)
 +        zahl2 = randint(1,10)
 +        eingabe = input("%d * %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            break
 +        else:
 +            listeElement.append(zahl1)
 +            listeElement.append("*")
 +            listeElement.append(zahl2)
 +            listeElement.append(eingabe)
 +    else:
 +        zahl1 = randint(1,10)
 +        zahl2 = randint(1,10)
 +        eingabe = input("%d / %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            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,2)
 +        if resultat == element[3]:
 +            anzahlRichtigerAntworten += 1
 +            
 +print(len(liste))
 +print(anzahlRichtigerAntworten)
 +print(anzahlRichtigerAntworten/len(liste)*100)
 +</code>
 +<code>
 +#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,4)
 +    if funktion == 1:
 +        zahl1 = randint(1,100)
 +        zahl2 = randint(1,100)
 +        eingabe = input("%d + %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            break
 +        else:
 +            listeElement.append(zahl1)
 +            listeElement.append("+")
 +            listeElement.append(zahl2)
 +            listeElement.append(eingabe)
 +    elif funktion == 2:
 +        zahl1 = randint(1,100)
 +        zahl2 = randint(1,100)
 +        eingabe = input("%d - %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            break
 +        else:
 +            listeElement.append(zahl1)
 +            listeElement.append("-")
 +            listeElement.append(zahl2)
 +            listeElement.append(eingabe)
 +    elif funktion == 3:
 +        zahl1 = randint(1,10)
 +        zahl2 = randint(1,10)
 +        eingabe = input("%d * %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            break
 +        else:
 +            listeElement.append(zahl1)
 +            listeElement.append("*")
 +            listeElement.append(zahl2)
 +            listeElement.append(eingabe)
 +    else:
 +        zahl1 = randint(1,10)
 +        zahl2 = randint(1,10)
 +        eingabe = input("%d / %d"% (zahl1, zahl2))
 +        if eingabe == 'q':
 +            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,2)
 +        if resultat == element[3]:
 +            anzahlRichtigerAntworten += 1
 +            
 +print(len(liste))
 +print(anzahlRichtigerAntworten)
 +print(anzahlRichtigerAntworten/len(liste)*100)
 +print(end - start)
 </code> </code>
  
  • lehrkraefte/blc/informatik/glf20/programmieren/listen2.1605856715.txt.gz
  • Last modified: 2020/11/20 08:18
  • by mirco.triner