Vergleichen von string und integer in python?
Habe ich diese einfache python-Programm. Ich lief es und druckt es yes
, wenn in der Tat, ich erwarte, dass Sie nicht alles drucken, weil 14
ist nicht größer als 14
.
Sah ich dieses Verwandte Frage, aber es ist nicht sehr hilfreich.
#! /usr/bin/python
import sys
hours = "14"
if (hours > 14):
print "yes"
Was mache ich falsch?
InformationsquelleAutor CodeBlue | 2013-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konvertieren Sie die Zeichenfolge in eine ganze Zahl mit
int
:In CPython2, beim vergleichen von zwei nicht-numerische Objekte unterschiedlicher Typen, der Vergleich erfolgt durch den Vergleich der Namen der Arten. Da
'int' < 'string'
, alle int ist kleiner als eine beliebige Zeichenfolge.Dies ist ein klassisches Python-Falle. In Python ist3 diese Warze wurde korrigiert -- Vergleich der nicht-numerischen Objekte, die unterschiedliche Art wirft einen TypeError standardmäßig.
Als erklärt in der Dokumentation:
InformationsquelleAutor unutbu