Hallo, ich möchte in Python zwei int Werte mit einer If Abfrage vergleichen. Die Abfrage funktioniert aber nicht. Kann mir da jemand bitte helfen?

6 Antworten

Das Problem ist, dass du nicht zwei Integer miteinander vergleichst sondern eine Integer und einen String, die beiden Variablen werden deshalb nie gleich sein. Du musst die Usereingabe erst zu einem Integer konvertieren, wenn du sie vergleichen willst, alternativ kannst du auch die Zufallszahl zu einem String konvertieren. Bei ersterer Lösung solltest du natürlich noch eine ungültige Eingabe abfangen...

Woher ich das weiß:Hobby – Programmiere seit eineinhalb Jahren

Schau mal hier hin:

    result = validate_numeric(user_in, int)

user_in ist ein Eingabestring, und result die daraus bestimmte Zahl.

Warum zum Henker verwendest Du später user_in, obwohl Du eine Zahl brauchst? Schreib einfach

if result == num:

dann passt's.

result ist übrigens ein ziemlich blöder Name für einen Eingabewert.

Also ich kann kein Python, aber allein schon vom Allgemeinen Verständnis sieht das nicht wirklich so aus, als ob das laufen kann. Und es wäre vermutlich besser, wenn du einen Screenshot von deinem Code machen würdest, weil so ist das so formatiert, dass es pratkisch nicht leserlich ist.

Ich kenne das Spiel, habe es mal in C programmiert.

Du vergleichst einen String (user_in) mit einem Integer (num), mal abgesehen von sonstigen Fehlern und falls die Einrückungen in deinem Code stimmen.

Du meinst die App generiert eine Ganzzahl und diese Zahl soll der User, durch Eingabe einer Zahl, erraten.

Stimmen beiden Werte überein, ist die Zahl geraten.

Dabei kann noch der Hinweis gegeben werden, ob die eingegebene Zahl größer oder kleiner ist, als die von der App generierten Zahl.