2016-10-24 5 views
2

Ich führe diesen Code auf Python 2.7. Ich hatte erwartet, einen Fehler zu bekommen, aber ich tat es nicht. Ich dachte, Variable Alter würde einen String-Wert wie '21' haben. Auf diese Weise, wenn ich age>= 18 vergleiche, würde es mich sagen, dass Sie Zeichenfolge und int nicht vergleichen können. Aber es tat es nicht. Es lief gut.Python 2.7 raw_input

Antwort

0

Von einer ähnlichen Frage, here:

Sie sind in der Tat richtig, dass Sie einen String und einen int sind zu vergleichen. Sie werden jedoch nicht darauf hinweisen, dass Sie das nicht tun können. Bei Typen, die nicht gleich sind, vergleicht es einfach den Typ der Variablen (in diesem Fall int und str). In Python 3.x macht es so, dass dieser Vergleich unmöglich ist. In Python 2.x würde der Vergleich zufällig ("int" < "string") gehen, was wir hier sehen.

1

In Python 2.X können Sie Zeichenfolgen mit Ganzzahlen vergleichen, aber Zeichenfolgen werden immer als größer als Ganzzahlen betrachtet. Wenn Sie eine Benutzereingabe als eine ganze Zahl aufnehmen möchten nur verwenden:

age = input("number here: "); 

hoffe, das hilft!