Probleme beim Zahlen Raten

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
dieter.mueller63
User
Beiträge: 2
Registriert: Dienstag 20. Mai 2014, 20:15

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.
Zuletzt geändert von Anonymous am Dienstag 20. Mai 2014, 20:41, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
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.
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

BlackJack hat geschrieben:Du musst die noch in eine Zahl umwandeln, damit Du sie mit anderen Zahlen vergleichen kannst.
Hint: int.
dieter.mueller63
User
Beiträge: 2
Registriert: Dienstag 20. Mai 2014, 20:15

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?
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

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.
Antworten