#!/usr/bin/env python3 import cgi, cgitb, random cgitb.enable() header = ''' Python - CGI-Programmierung
''' footer = '''
''' form = cgi.FieldStorage() print(header) print("

Kopfrechnen

") if form.getvalue("config"): ro = form.getvalue("ro") anz = int(form.getvalue("anz")) opmin1 = int(form.getvalue("opmin1")) opmax1 = int(form.getvalue("opmax1")) opmin2 = int(form.getvalue("opmin2")) opmax2 = int(form.getvalue("opmax2")) print("
") print("") print("") if ro == 'Addition': print("

Addition

") for i in range(anz): a = random.randint(opmin1,opmax1) b = random.randint(opmin2,opmax2) print("

"+str(i+1)+". Aufgabe : "+str(a)+" + "+str(b)+" =

") print("") print("") elif ro == 'Subtraktion': print("

Subtraktion

") for i in range(anz): while(True): a = random.randint(opmin1,opmax1) b = random.randint(opmin2,opmax2) if a>b: break print("

"+str(i+1)+". Aufgabe : "+str(a)+" - "+str(b)+" =

") print("") print("") elif ro == 'Multiplikation': print("

Multiplikation

") for i in range(anz): a = random.randint(opmin1,opmax1) b = random.randint(opmin2,opmax2) print("

"+str(i+1)+". Aufgabe : "+str(a)+" * "+str(b)+" =

") print("") print("") elif ro == 'Division': print("

Division

") for i in range(anz): while(True): a = random.randint(opmin1,opmax1) b = random.randint(opmin2,opmax2) if a > b and a%b == 0 and b > 1: break print("

"+str(i+1)+". Aufgabe : "+str(a)+" : "+str(b)+" =

") print("") print("") print("

") print("Addition") for i in range(anz): if form.getvalue("ergebnis"+str(i+1)): e = int(form.getvalue("ergebnis"+str(i+1))) else: e = None a = int(form.getvalue("a"+str(i+1))) b = int(form.getvalue("b"+str(i+1))) if e == None: print("

",a,"+",b,"= - Ergebnis wurde nicht eingegeben! Richtiges Ergebnis:",a+b,"

") else: if e == a+b: print("

",a,"+",b,"=",e,"Richtig!

") else: print("

",a,"+",b,"=",e,"Falsch! Richtiges Ergebnis:",a+b,"

") elif ro == 'Subtraktion': print("

Subtraktion

") for i in range(anz): if form.getvalue("ergebnis"+str(i+1)): e = int(form.getvalue("ergebnis"+str(i+1))) else: e = None a = int(form.getvalue("a"+str(i+1))) b = int(form.getvalue("b"+str(i+1))) if e == None: print("

",a,"-",b,"= - Ergebnis wurde nicht eingegeben! Richtiges Ergebnis:",a-b,"

") else: if e == a-b: print("

",a,"-",b,"=",e,"Richtig!

") else: print("

",a,"-",b,"=",e,"Falsch! Richtiges Ergebnis:",a-b,"

") elif ro == 'Multiplikation': print("

Multiplikation

") for i in range(anz): if form.getvalue("ergebnis"+str(i+1)): e = int(form.getvalue("ergebnis"+str(i+1))) else: e = None a = int(form.getvalue("a"+str(i+1))) b = int(form.getvalue("b"+str(i+1))) if e == None: print("

",a,"*",b,"= - Ergebnis wurde nicht eingegeben! Richtiges Ergebnis:",a*b,"

") else: if e == a*b: print("

",a,"*",b,"=",e,"Richtig!

") else: print("

",a,"*",b,"=",e,"Falsch! Richtiges Ergebnis:",a*b,"

") elif ro == 'Division': print("

Division

") for i in range(anz): if form.getvalue("ergebnis"+str(i+1)): e = int(form.getvalue("ergebnis"+str(i+1))) else: e = None a = int(form.getvalue("a"+str(i+1))) b = int(form.getvalue("b"+str(i+1))) if e == None: print("

",a,":",b,"= - Ergebnis wurde nicht eingegeben! Richtiges Ergebnis:",a//b,"

") else: if e == a//b: print("

",a,":",b,"=",e,"Richtig!

") else: print("

",a,":",b,"=",e,"Falsch! Richtiges Ergebnis:",a//b,"

") print("") print("

") print("
") else: print("

Konfiguration

") print("
") print("""

Wähle die Rechennoperation!





Wie viele Aufgaben?

In welchem Bereich sollen die Operanden liegen?

MinimumMaximum
1. Operant
2. Operant

""") print("

") print("