Wie kann ich Zahlen oder Buchstaben in einer Zeichenfolge erkennen? Ich bin mir bewusst, dass Sie die ASCII-Codes verwenden, aber welche Funktionen nutzen sie?
Sie können str.isdigit()
und str.isalpha()
um zu überprüfen, ob die angegebene Zeichenfolge ist positive Ganzzahl bzw. Alphabet.
Beispielergebnisse:
%Vor% str.isdigit()
gibt False
zurück, wenn die Zeichenfolge eine negative Zahl oder eine Gleitkommazahl ist. Zum Beispiel:
Wenn Sie möchten, prüfen Sie auch die negativen ganzen Zahlen und float
, dann können Sie eine benutzerdefinierte Funktion schreiben, um nach ihr zu suchen:
Beispiellauf:
%Vor% Die obigen Funktionen geben True
für die Zeichenfolge "NAN" (Not a number) zurück, da es für Python ein gültiger float-Wert ist, der keine Zahl darstellt. Zum Beispiel:
Um zu überprüfen, ob die Zahl "NaN" ist, können Sie % verwenden. co_de% als:
%Vor% Oder wenn Sie keine zusätzliche Bibliothek importieren möchten, um dies zu überprüfen, dann können Sie es einfach überprüfen, indem Sie es mit sich selbst vergleichen, indem Sie math.isnan()
verwenden. Python gibt ==
zurück, wenn False
float mit sich selbst verglichen wird. Zum Beispiel:
Daher kann die Funktion nan
so aktualisiert werden, dass is_number
für False
wie folgt zurückgegeben wird:
Beispiellauf:
%Vor% Die obige Funktion gibt Ihnen "NaN"
für die komplexen Zahlen zurück . Wenn Sie möchten, dass Ihre Funktion False
komplexe Zahlen als gültige Zahl behandelt , müssen Sie den übergebenen String in is_number
anstelle von complex()
. Dann wird Ihre float()
Funktion wie folgt aussehen:
Beispiellauf:
%Vor% PS: Jede Operation für jede Prüfung, abhängig vom Typ der Nummer, verursacht zusätzlichen Overhead. Wählen Sie die Version von is_number
function, die zu Ihrer Anforderung passt.