Seite 1 von 1

Hilfe ! Rechentrainer erstellen.

Verfasst: Dienstag 23. November 2010, 21:29
von Nastjaa.
Hallo erstmal .
Seit kurzem haben wir angefangen im Informatikunterricht mit Python zu programmieren.
Nun habe wir als Hausaufgabe aufbekommen einen Rechentrainer zu erstellen in dem : Man Punkte vergeben kann ,angeben wieviele Versuche man hat um die Aufgabe zu lösen , man soll auch die Möglichkeit haben einstellen zu können , welchen Schwierigkeitsgrad die Aufgabe haben soll und es soll nach jeder Aufgabe abgefragt werden , ob man weiter machen möchte.
Dabei sollen wir mit der while Schleife arbeiten .

Kann mir irgendjemand vielleicht einen Tipp geben , wie man das am besten strukturieren , sowie programmieren kann ?

Ich hab es schon mehrmals ausprobiert und bin leider dabei gescheitert ...

Vielen Dank im Vorraus. :)

Re: Hilfe ! Rechentrainer erstellen.

Verfasst: Dienstag 23. November 2010, 21:32
von jbs
Hallo und Willkommen im Forum.

Lass mich raten, bis morgen?

Du hast das falsche Subforum ausgewählt.

Zeige bitte das, was du bisher hast und stelle das zur Diskussion. Sonst wirst du nur Verweise auf das Tutorial bekommen ;)

Re: Hilfe ! Rechentrainer erstellen.

Verfasst: Dienstag 23. November 2010, 21:33
von Nastjaa.
jbs hat geschrieben:Hallo und Willkommen im Forum.

Lass mich raten, bis morgen?

Du hast das falsche Subforum ausgewählt.

Zeige bitte das, was du bisher hast und stelle das zur Diskussion. Sonst wirst du nur Verweise auf das Tutorial bekommen ;)

Richtig bis morgen :D
Das blöde ist , dass ich jetzt wieder ganz am Anfang bin , also bei null.
Jetzt muss ich nämlich alles neu machen -.-

Re: Hilfe ! Rechentrainer erstellen.

Verfasst: Dienstag 23. November 2010, 21:36
von jbs
Es wird dir hier keiner eine fertige Lösung schreiben.

Zeig das, was du hast. Sonst versuch erstmal und dann melde dich, falls du Probleme bekommst.

Re: Hilfe ! Rechentrainer erstellen.

Verfasst: Dienstag 23. November 2010, 21:37
von Nastjaa.
jbs hat geschrieben:Es wird dir hier keiner eine fertige Lösung schreiben.

Zeig das, was du hast. Sonst versuch erstmal und dann melde dich, falls du Probleme bekommst.

Mache ich jetzt gerade , danke ((:

Re: Hilfe ! Rechentrainer erstellen.

Verfasst: Sonntag 28. November 2010, 12:10
von sma
Wenn die Zeit für die Aufgabe abgelaufen ist, kann ich ja... mir war gerade danach:

Code: Alles auswählen

import random

falsch = 0
richtig = 0

def stelle_aufgabe():
    operation = random.choice(("+", "-", "*"))
    zahl1, zahl2 = random.randrange(1, 100), random.randrange(1, 100)
    aufgabe = "%s%s%s" % (zahl1, operation, zahl2)
    try:
        antwort = float(input("Hey, was ist %s? " % aufgabe))
    except ValueError:
        print("Nicht mal eine Zahl eingeben kannst du? Dann eben nicht.")
        antwort = 0.0
    return antwort == eval(aufgabe)

def frage(text):
    antwort = input(text).lower()
    if antwort.startswith("j"):
        return True
    if antwort.startswith("n"):
        return False
    return frage("Was jetzt? Sag 'ja' oder 'nein': ")

while True:
    if stelle_aufgabe():
        richtig += 1
        print("Gut.")
    else:
        falsch += 1
        print("Falsch. Du kannst es nicht!")
        if frage("Gibst du auf? "):
            break

print("Von", richtig + falsch, "Fragen hast du", 
    falsch, "Aufgabe%s falsch beantwortet." % "" if falsch == 1 else "n")
Stefan

Re: Hilfe ! Rechentrainer erstellen.

Verfasst: Sonntag 28. November 2010, 13:34
von nomnom
sma hat geschrieben:

Code: Alles auswählen

import random
…
print("Von", richtig + falsch, "Fragen hast du", 
    falsch, "Aufgabe%s falsch beantwortet." % "" if falsch == 1 else "n")
Stefan
Da fehlt aber die Division (ich geb zu, die Divisionsaufgaben sind sehr schwer :mrgreen:):

Code: Alles auswählen

import random
from decimal import Decimal

falsch = 0
richtig = 0

def stelle_aufgabe():
    operation = random.choice(("+", "-", "*", "/"))
    zahl1, zahl2 = random.randrange(1, 100), random.randrange(1, 100)
    aufgabe = "Decimal(%s)%sDecimal(%s)" % (zahl1, operation, zahl2)
    try:
        antwort = float(input("Hey, was ist %s%s%s? " % (zahl1, operation,
                              zahl2)))
    except ValueError:
        print("Nicht mal eine Zahl eingeben kannst du? Dann eben nicht.")
        antwort = 0.0
    return Decimal('%s' % antwort) == eval(aufgabe)

def frage(text):
    antwort = input(text).lower()
    if antwort.startswith("j"):
        return True
    if antwort.startswith("n"):
        return False
    return frage("Was jetzt? Sag 'ja' oder 'nein': ")

while True:
    if stelle_aufgabe():
        richtig += 1
        print("Gut.")
    else:
        falsch += 1
        print("Falsch. Du kannst es nicht!")
        if frage("Gibst du auf? "):
            break

print("Von", richtig + falsch, "Fragen hast du",
    falsch, "Aufgabe%s falsch beantwortet." % "" if falsch == 1 else "n")