Seite 1 von 1

Probleme beim Zahlen Raten

Verfasst: Dienstag 20. Mai 2014, 20:24
von dieter.mueller63
Hey, ich hab versucht ein Progamm zum Zahlen raten zu schreiben:

Code: Alles auswählen

import random

geheimnis = random.randint (1, 99)
tipp = 0
versuche = 0

print ("Ich habe eine Geheimezahl zwischen 1 und 99.")
print ("Du hast 6 Versuche")

while tipp != geheimnis and versuche < 6:
    tipp = input ("Was rätst du?")
    if tipp < geheimnis:
        print ("Zu niedrig!")
    elif tipp > geheimnis:
        print ("Zu hoch!")
    versuche = versuche + 1
if tipp == geheimnis:
    print ("Du hast die Zahl erraten")
else:
    print ("Alle Versuche verbraucht! Die Geheimzahl war ", geheimnis)
Aber da ich noch ein Neuling bin ist natürlich ein Fehler aufgetreten und ich hab keine Ahnung, was genau Falsch ist.
Es wird mir diese Fehlermeldung angezeigt:

if tipp < geheimnis:
TypeError: unorderable types: str() < int()

Ich wäre über jede Hilfe sehr erfreut.

Re: Probleme beim Zahlen Raten

Verfasst: Dienstag 20. Mai 2014, 20:43
von BlackJack
@dieter.mueller63: Die Fehlermeldung sagt Dir das man mit ganzen Zahlen und Zeichenketten nicht prüfen kann was davon kleiner/grösser ist. Es macht ja auch nicht viel Sinn Zahlen und Zeichenketten auf diese Art zu vergleichen. Der Benutzer gibt eine Zeichenkette ein und `input()` liefert diese Zeichenkette als Ergebnis. Du musst die noch in eine Zahl umwandeln, damit Du sie mit anderen Zahlen vergleichen kannst.

Re: Probleme beim Zahlen Raten

Verfasst: Dienstag 20. Mai 2014, 20:49
von /me
BlackJack hat geschrieben:Du musst die noch in eine Zahl umwandeln, damit Du sie mit anderen Zahlen vergleichen kannst.
Hint: int.

Re: Probleme beim Zahlen Raten

Verfasst: Dienstag 20. Mai 2014, 21:19
von dieter.mueller63
Schon mal danke für die bisherige Hilfe. Nur hilft mir das noch nicht viel weiter, weil ich damit noch nichts Anfangen kann. Könntet ihr mir vielleicht zeigen, wie ich das machen muss mit int?

Re: Probleme beim Zahlen Raten

Verfasst: Dienstag 20. Mai 2014, 21:41
von /me
dieter.mueller63 hat geschrieben:Schon mal danke für die bisherige Hilfe. Nur hilft mir das noch nicht viel weiter, weil ich damit noch nichts Anfangen kann. Könntet ihr mir vielleicht zeigen, wie ich das machen muss mit int?
Da scheint die Dokumentation ja unverständlicher zu sein als ich dachte. "Convert a number or string x to an integer" und hinter dem Folgelink dann "int(x) x converted to integer" klingt doch eigentlich ganz gut.

Hier ist mal ein Beispiel.

Code: Alles auswählen

>>> '23'
'23'
>>> int('23')
23
>>> type('23')
<class 'str'>
>>> type(int('23'))
<class 'int'>
Jetzt musst du bei dir natürlich keinen festen Wert eingeben, sondern den, den du mit input eingelesen hast.