日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

少儿编程100讲轻松学python(九)-python如何判断字符串是否为整数

發布時間:2023/12/2 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 少儿编程100讲轻松学python(九)-python如何判断字符串是否为整数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

python判斷字符串是否為整數的方法:首先可以根據字符串的第一個字符確定整數的正負;然后對字符串從右向左遍歷,例如111,可以看成【1110+1】,而11又可以看成【110+1】。

本教程操作環境:windows7系統、python3.9版,DELLG3電腦。

python判斷字符串是否為整數的方法:

方法一:遞歸法

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

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

方法二:非遞歸法

首先通過一個字符的值確定整數的正負性,然后去掉符號位,把后面的字符串當做正數來處理,處理完成后再根據正負性返回正確的結果。實現方法為從左向右遍歷字符串計算整數的值,以“123”為例,遍歷到’2’的時候結果為110+2=12,遍歷到‘3’的時候結果為1210+3=123。

class Test:def __init__(self):self.flag = Nonedef getFlag(self):return self.flag# 判斷c是否是數字,如果是返回True,否則返回Falsedef isNumber(self, c):return c >= "0" and c <= "9"def strToint(self, strs):if strs == None:self.flag = Falseprint("不是數字")return -1self.flag = Trueres = 0i = 0minus = False # 是否是負數if list(strs)[i] == '-': # 結果是負數minus = Truei += 1if list(strs)[i] == '+': # 結果是正數i += 1while i < len(strs):if self.isNumber(list(strs)[i]):res = res * 10 + ord(list(strs)[i]) - ord('0')else:self.flag = Falseprint("不是數字")return -1i += 1return -res if minus else resif __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)

總結

以上是生活随笔為你收集整理的少儿编程100讲轻松学python(九)-python如何判断字符串是否为整数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。