Seite 1 von 1
Bug Problem mit Python
Verfasst: Mittwoch 5. Dezember 2012, 17:56
von Dexter1997
Sorry, das ich euch schon wieder belästige, aber ein Programm was ich grade entwickle, will nicht ganz so wie ich will. Der Benutzer bekommt aufgaben gestellt. Wenn eine Aufgabe falsch ist soll das Programm sofort beendet werden (sinn oder Unsinn des Programms steht jetzt nicht zur Debatte ;D). Obwohl ich die Richtigkeitsprüfung eingebaut habe, korrigiert Python auch bei falscher Lösung nicht, und tut so, als ob alles richtig wäre. Hier ein kleiner Ausschnitt aus dem Programm:
Code: Alles auswählen
while leben = 1:
for i in range (5):
zahl1 = r.randint (500, 600)
zahl2 = r.randint (50, 70)
zahl3 = r.randint (2, 5)
l1 = zahl1 - zahl2 * zahl3
eingabe = int (raw_input (str (zahl1) + "-" + str (zahl2) + "*" + str (zahl3) + "=") )
if eingabe != l1:
leben = 0
print "Das erste Passwort-Symbol lautet:", a, "." "Merke dir das Gut!"
else:
"Du hast das Spiel verloren weil du eine Aufgabe falsch geloest hast!"
Könnt ihr mir sagen wo das Problem liegt?
Wenn der Code nicht ausreicht, bescheid sagen!
Re: Bug Problem mit Python
Verfasst: Mittwoch 5. Dezember 2012, 18:12
von pixewakb
Ist der Quellcode so bei dir lauffähig???
Sorry, aber hier fehlt der import-Befehl (du importierst das random-Modul), die Hinweise vom letzten Mal zur Formatierung ignorierst du ("str(Variable)" ohne Leerzeichen!) und leider sind auch einige Codezeilen so geartet, dass das einen Fehler produzieren müsste...
Ich habe deinen Quellcode einmal in Python 3 umgesetzt, womit ich hauptsächlich arbeite. Das sieht dann so aus:
Code: Alles auswählen
import random
a = "P"
leben = 1
while leben == 1:
for i in range (5):
zahl1 = random.randint(500, 600)
zahl2 = random.randint(50, 70)
zahl3 = random.randint(2, 5)
ergebnis = zahl1 - zahl2 * zahl3
eingabe = int(input(str(zahl1) + "-" + str(zahl2) + "*" + str(zahl3) + "="))
if eingabe != ergebnis:
leben = 0
break
if leben == 1:
print("Das erste Passwort-Symbol lautet:" + a + "." "Merke dir das Gut!")
else:
print("Du hast das Spiel verloren weil du eine Aufgabe falsch geloest hast!")
In der Shell dann z. B.:
Code: Alles auswählen
573-51*3=420
590-69*5=245
504-68*5=164
501-56*3=333
524-68*5=184
Das erste Passwort-Symbol lautet: P. Merke dir das Gut!
PS Ich habe den Quellcode mal optimiert - da war bei mir auch noch ein ziemlicher Mist drin... Jetzt scheint es besser zu laufen.
Re: Bug Problem mit Python
Verfasst: Mittwoch 5. Dezember 2012, 18:16
von Dexter1997
Das random modul wurde bereits importiert
import random as r
achso, das ist nicht meine ignoranz, ich habe nur vergessen die tipps zu beachten

ich werde das sofort ändern.
und welche codezeilen sind so geartet das sie fehler produzieren könnten?
Re: Bug Problem mit Python
Verfasst: Mittwoch 5. Dezember 2012, 18:24
von /me
Dexter1997 hat geschrieben:
l1 ist ein grauenhafter Name für einen Bezeichner. Nicht nur, dass er absolut nichtssagend ist, er schreit auch geradezu nach Fehlinterpretationen. Ich habe ihn auch die ganze Zeit als
11 gelesen und wusste überhaupt nicht was das jetzt wieder sollte. Mit Nullen kann man ähnlichen Murks fabrizieren.
JBO und
JB0 lassen sich nur schwer unterscheiden.
Re: Bug Problem mit Python
Verfasst: Mittwoch 5. Dezember 2012, 18:26
von pixewakb
Führ doch mal bitte deinen Code aus, den du uns hier gepostet hattest.
Du wirst feststellen, dass du in deinem Codebrocken die import-Anweisung unterschlagen hast, die Variablen nicht instanziiert sind und leider auch die while-Anweisung fehlerhaft ist ("=" statt richtig "==", du willst dort doch vergleichen). Die letzte Zeile mit dem print-Befehl hätte ich anders geschrieben. Eben explizit mit print.
Die input-Zeile würde ich auf die Schnelle so auch basteln, hätte aber möglicherweise hier die format-Option gewählt.
Das vereinfacht - verkürzt - etwas den Quellcode und soll schneller sein.
PS Ich bin auch eher Hobbyprogrammierer. Die Profis hier könnten es wahrscheinlich sprachlich auch besser fassen.
Re: Bug Problem mit Python
Verfasst: Mittwoch 5. Dezember 2012, 19:02
von Sirius3
Hallo Dexter1997,
schau Dir doch mal Deine Richtigkeitsprüfung an!
1) was passiert wenn die Eingabe falsch ist.
2) was passiert danach und wie unterscheidet sich nach der Prüfung falsch und richtig?
Grüße
Sirius
Re: Bug Problem mit Python
Verfasst: Donnerstag 6. Dezember 2012, 20:10
von Dexter1997
Hey Leute, ich habe das Programm nochmal komplett überarbeitet, und jetzt läuft es perfekt. Ich danke für eure Posts und Hilfestellungen und freue mich nun über das gelößte Problem.<3
Jetzt kan ich endlich lernen wie man Funktionen macht und was das ist. <3 <3
Danke:)