国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

python如何判斷字符串是否為整數

極客小將2021-03-03-
簡介python判斷字符串是否為整數的方法:首先可以根據字符串的第一個字符確定整數的正負;然后對字符串從右向左遍歷,例如111,可以看成【11*10+1】,而11又可以看成【1*10+1】。本教程操作環境:windows7系統、python3.9版,DELLG3電腦。python判斷字符串是否為整數的方

python判斷字符串是否為整數的方法:首先可以根據字符串的第一個字符確定整數的正負;然后對字符串從右向左遍歷,例如111,可以看成【11*10+1】,而11又可以看成【1*10+1】。F2L少兒編程網-https://www.pxcodes.com

F2L少兒編程網-https://www.pxcodes.com

本教程操作環境:windows7系統、python3.9版,DELL G3電腦。F2L少兒編程網-https://www.pxcodes.com

python判斷字符串是否為整數的方法:F2L少兒編程網-https://www.pxcodes.com

方法一:遞歸法F2L少兒編程網-https://www.pxcodes.com

對于整數而言,例如111,可以看成11*10+1,而11又可以看成1*10+1。而-111可以看成(-11)*10-1,-11可以看成(-1)*10-1.根據這個特點可以采用遞歸的方法求解,可以先根據字符串的第一個字符確定整數的正負,接著對字符串從右向左遍歷.F2L少兒編程網-https://www.pxcodes.com

class Test: def __init__(self): self.flag = None def getFlag(self): return self.flag # 判斷c是否是數字,如果是返回數字,且設置flag=True,否則返回False def isNumber(self, c): return c >= '0' and c <= '9' # 判斷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] == '-': return self.strtoint(strs, length - 1) * 10 - (ord(list[length - 1]) - ord('0')) else: return self.strtoint(strs, length - 1) * 10 + ord(list(strs)[length - 1]) - ord('0') else: if list(strs)[0] == '-': return 0 else: if not self.isNumber(list(strs)[0]): print("不是數字") self.flag = False return -1 return ord(list(strs)[0]) - ord('0') def strToint(self, s): self.flag = True if s == None or len(s) <= 0 or (list(s)[0] == '-' and len(s) == 1): print("不是數字") self.flag = False return -1 if list(s)[0] == '+': return self.strToint(s[1:len(s)], len(s) - 1) else: return self.strToint(s, len(s))

方法二:非遞歸法F2L少兒編程網-https://www.pxcodes.com

首先通過一個字符的值確定整數的正負性,然后去掉符號位,把后面的字符串當做正數來處理,處理完成后再根據正負性返回正確的結果。實現方法為從左向右遍歷字符串計算整數的值,以“123”為例,遍歷到'2'的時候結果為1*10+2=12,遍歷到‘3’的時候結果為12*10+3=123。F2L少兒編程網-https://www.pxcodes.com

class Test: def __init__(self): self.flag = None def getFlag(self): return self.flag # 判斷c是否是數字,如果是返回True,否則返回False def isNumber(self, c): return c >= "0" and c <= "9" def strToint(self, strs): if strs == None: self.flag = False print("不是數字") return -1 self.flag = True res = 0 i = 0 minus = False # 是否是負數 if list(strs)[i] == '-': # 結果是負數 minus = True i += 1 if list(strs)[i] == '+': # 結果是正數 i += 1 while i < len(strs): if self.isNumber(list(strs)[i]): res = res * 10 + ord(list(strs)[i]) - ord('0') else: self.flag = False print("不是數字") return -1 i += 1 return -res if minus else res if __name__ == "__main__": t = Test() s = "-543" print(t.strToint(s)) s = "543" print(t.strToint(s)) s = "+543" print(t.strToint(s)) s = "++43" result = t.strToint(s) if t.getFlag(): print(result)

相關免費學習推薦:python視頻教程F2L少兒編程網-https://www.pxcodes.com

以上就是python如何判斷字符串是否為整數的詳細內容,更多請關注少兒編程網其它相關文章!F2L少兒編程網-https://www.pxcodes.com

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 保山市| 六盘水市| 陇南市| 鲁甸县| 抚远县| 铜陵市| 额尔古纳市| 揭东县| 凤山市| 湘阴县| 墨江| 桐城市| 玛沁县| 秦安县| 闽侯县| 黄骅市| 太仆寺旗| 金坛市| 兴化市| 邹城市| 思南县| 博湖县| 建湖县| 霍林郭勒市| 牡丹江市| 新竹市| 苍山县| 泾源县| 隆德县| 兴化市| 淳安县| 宁德市| 石城县| 长乐市| 文成县| 乐安县| 昌图县| 定兴县| 綦江县| 钦州市| 苍南县|