Hilfe ! Rechentrainer erstellen.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nastjaa.
User
Beiträge: 3
Registriert: Dienstag 23. November 2010, 21:17

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. :)
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

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 ;)
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Nastjaa.
User
Beiträge: 3
Registriert: Dienstag 23. November 2010, 21:17

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 -.-
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

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.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Nastjaa.
User
Beiträge: 3
Registriert: Dienstag 23. November 2010, 21:17

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 ((:
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

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
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

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")
Antworten