Seite 1 von 1

Zähler bei Ratespiel inkorrekt

Verfasst: Samstag 29. September 2012, 15:21
von püthon
Hallo,

ich bin noch ziemlicher Programmieranfänger und habe ein Ratespiel programmiert. Jedoch ist die Ausgabe der Anzahl der Versuche (count) nicht immer korrekt, meistens kleiner. Wenn mir bitte jemand auf die Sprünge helfen würde was da nicht stimmt.

Code: Alles auswählen

import random
zahl = random.randint(1, 100)
print"********************Ratespiel*******************"
print""
guess = input("Raten Sie eine Zahl zwischen 1 und 100: ")
count = 1
print""
while guess != zahl:
    if guess > zahl:
        guess = input("Die gesuchte Zahl ist kleiner: ")
    if guess < zahl:
        guess = input("Die gesuchte Zahl ist größer: ")
    count = count + 1
print "Glückwunsch!!! Sie haben die Zahl in", count, "Versuchen erraten."

Re: Zähler bei Ratespiel inkorrekt

Verfasst: Samstag 29. September 2012, 16:22
von snafu
Der Programmablauf in der `while`-Schleife entspricht nicht dem, was du dir sehr wahrscheinlich vorstellst. Es wird nämlich bei jedem Durchlauf sowohl auf größer-als geprüft mit ggf folgender Abfrage einer neuen Eingabe, als auch anschließend - und zwar *immer* - auf kleiner-als mit ggf folgender Abfrage. Es kann also in bestimmten Konstellationen (denk mal nach, bei welchen) dazu kommen, dass innerhalb eines Schleifendurchlaufs zweimal nach einer Zahl gefragt, jedoch nur einmal der Counter erhöht wird.

Was du eigentlich willst, ist:

Code: Alles auswählen

if guess > zahl:
    [...]
else:
    if guess < zahl:
        [...]
Oder kürzer (und zu empfehlen):

Code: Alles auswählen

if guess > zahl:
    [...]
elif guess < zahl:
    [...]

Re: Zähler bei Ratespiel inkorrekt

Verfasst: Samstag 29. September 2012, 16:27
von püthon
Jetzt ist der Groschen gefallen. Herzlichen Dank!