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-03 11:10:0612375Durchsuche

So bestimmt Python, ob eine Zeichenfolge eine Ganzzahl ist: Zuerst können Sie das Vorzeichen der Ganzzahl anhand des ersten Zeichens der Zeichenfolge bestimmen und dann die Zeichenfolge von rechts nach links durchlaufen, z. B. 111, was als angezeigt werden kann [11*10+1] und 11 kann als [1*10+1] angesehen werden.

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