Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie in Python, ob eine Zeichenfolge eine Ganzzahl ist

So ermitteln Sie in Python, ob eine Zeichenfolge eine Ganzzahl ist

coldplay.xixi
coldplay.xixiOriginal
2021-03-16 15:57:2721335Durchsuche

So bestimmt Python, ob eine Zeichenfolge eine Ganzzahl ist: 1. Rekursive Methode: Sie können zuerst das Vorzeichen der Ganzzahl basierend auf dem ersten Zeichen der Zeichenfolge bestimmen und dann die Zeichenfolge von rechts nach links durchlaufen. 2. Nicht rekursiv Methode, implementieren Die Methode berechnet den Wert einer Ganzzahl, indem sie die Zeichenfolge von links nach rechts durchläuft.

So ermitteln Sie in Python, ob eine Zeichenfolge eine Ganzzahl ist

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Python-Version 3.9, DELL G3-Computer.

Pythons Methode zum Bestimmen, ob eine Zeichenfolge eine Ganzzahl ist:

Methode 1: Rekursive Methode

Für Ganzzahlen wie 111 kann es als 11*10+1 und 11 als angesehen werden 1* 10+1. Und -111 kann als (-11)*10-1 betrachtet werden, und -11 kann als (-1)*10-1 betrachtet werden. Gemäß dieser Funktion kann eine rekursive Methode verwendet werden, um das Problem zu lösen Bestimmen Sie das Vorzeichen der Ganzzahl anhand des ersten Zeichens und durchlaufen Sie dann die Zeichenfolge von rechts nach links Wert eines Zeichens, entfernen Sie dann das Vorzeichenbit und ersetzen Sie die folgenden Zeichen. Die Zeichenfolge wird als positive Zahl behandelt und nach Abschluss der Verarbeitung wird basierend auf der Signifikanz das richtige Ergebnis zurückgegeben. Die Implementierungsmethode besteht darin, die Zeichenfolge von links nach rechts zu durchlaufen, um den Wert der Ganzzahl zu berechnen. Am Beispiel von „123“ ist das Ergebnis 1 * 10 + 2 = 12, wenn es nach „2“ durchläuft '3', das Ergebnis ist 12* 10+3=123.

class Test:
    def __init__(self):
        self.flag = None
 
    def getFlag(self):
        return self.flag
 
    # 判断c是否是数字,如果是返回数字,且设置flag=True,否则返回False
    def isNumber(self, c):
        return c >= &#39;0&#39; and c <= &#39;9&#39;
 
    # 判断str是否是数字
    def strtoint(self, strs, length):
        if length > 1:
            if not self.isNumber(list(strs)[length - 1]):
                # 不是数字
                print("不是数字")
                self.flag = False
                return -1
 
            if list(strs)[0] == &#39;-&#39;:
                return self.strtoint(strs, length - 1) * 10 - (ord(list[length - 1]) - ord(&#39;0&#39;))
            else:
                return self.strtoint(strs, length - 1) * 10 + ord(list(strs)[length - 1]) - ord(&#39;0&#39;)
 
        else:
            if list(strs)[0] == &#39;-&#39;:
                return 0
            else:
                if not self.isNumber(list(strs)[0]):
                    print("不是数字")
                    self.flag = False
                    return -1
                return ord(list(strs)[0]) - ord(&#39;0&#39;)
 
    def strToint(self, s):
        self.flag = True
        if s == None or len(s) <= 0 or (list(s)[0] == &#39;-&#39; and len(s) == 1):
            print("不是数字")
            self.flag = False
            return -1
 
        if list(s)[0] == &#39;+&#39;:
            return self.strToint(s[1:len(s)], len(s) - 1)
        else:
            return self.strToint(s, len(s))

Verwandte kostenlose Lernempfehlungen: Python-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie in Python, ob eine Zeichenfolge eine Ganzzahl ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn