最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于python實現(xiàn)判斷字符串是否數(shù)字算法

 更新時間:2020年07月10日 15:32:48   作者:anne的夏天  
這篇文章主要介紹了基于python實現(xiàn)判斷字符串是否數(shù)字算法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

算法1

1、分小數(shù)和整數(shù):如果小數(shù)點個數(shù)為1,則可能是小數(shù)。如小數(shù)點個數(shù)為0,則可能是整數(shù)。小數(shù)點個數(shù)非0也非1,那么就不是數(shù)字。

2、如果是小數(shù),再分正數(shù)和負(fù)數(shù)的情況:如果首位為負(fù)號,則可能是負(fù)小數(shù)。如果首位不為負(fù)號,則可能是正小數(shù)。

1)如果首位為負(fù)號,則去掉負(fù)號。

2)如果首位不為負(fù)號;或者是首位為負(fù)號,去掉首位負(fù)號之后。則判斷是否為是否為“.”,如果是,那么就不是數(shù)字,如果不是,就去掉"."

3)再判斷剩下字符是否都在"0123456789"內(nèi),如果不都在則不是數(shù)字,否則就是數(shù)字

3、如果是整數(shù),也同樣分正數(shù)和負(fù)數(shù)的情況。如果首位為負(fù)號,則可能是負(fù)整數(shù),如果首位不為負(fù)號,則可能是正整數(shù)。

1)如果首位誒負(fù)號,則去掉負(fù)號。

2)如果首位不為負(fù)號;或者是首位為負(fù)號,去掉首位負(fù)號之后。判斷剩下字符是否都在"0123456789"內(nèi),如果不都在則不是數(shù)字,否則就是數(shù)字

 #encoding=utf-8
def is_number(s):
  if s.count(".")==1:  #小數(shù)的判斷
    if s[0]=="-":
      s=s[1:]
    if s[0]==".":
      return False
    s=s.replace(".","")
    for i in s:
      if i not in "0123456789":
        return False
    else:        #這個else與for對應(yīng)的
      return True
  elif s.count(".")==0:  #整數(shù)的判斷
    if s[0]=="-":
      s=s[1:]
    for i in s:
      if i not in "0123456789":
        return False
    else:
      return True
  else:
    return False
print(is_number("1334345345"))
print(is_number("1.12344565"))
print(is_number("-14344343"))
print(is_number("-1.123456"))
print("**********************")
print(is_number("abc"))
print(is_number("1.32.2"))
print(is_number(".2344"))
print(is_number("1234a"))
print(is_number("--1.1"))
print(is_number("--1abc"))

算法2

1、判斷首位是否是負(fù)號或者數(shù)字,如果不是,則不是數(shù)字。如果是,則可能是數(shù)字。

2、判斷"."和"-"的個數(shù)是否都小于等于1,如果不是,則不是數(shù)字,如果是,則可能是數(shù)字。

3、去掉"."和"-" 。

4、判斷剩下的字符是否都在"0123456789"內(nèi),如果不都在則不是數(shù)字,否則就是數(shù)字

#encoding=utf-8
def is_number(s):
  if s[0]=="-" or s[0] in "0123456789":
    if s.count(".")<=1 and s.count("-")<=1:
      s=s.replace("-","").replace(".","")
      #print (s)
      for i in s:
        if i not in "0123456789":
          return False
      else:        #這個else與for對應(yīng)
        return True
    else:
      return False 
  else:
    return False
print(is_number("1334345345"))
print(is_number("1.12344565"))
print(is_number("-14344343"))
print(is_number("-1.123456"))
print("**********************")
print(is_number("abc"))
print(is_number("1.32.2"))
print(is_number(".2344"))
print(is_number("1234a"))
print(is_number("--1.1"))
print(is_number("--1abc"))

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

宜宾市| 柏乡县| 仪征市| 盐山县| 莱阳市| 工布江达县| 图们市| 祁阳县| 泾阳县| 德保县| 仁布县| 德阳市| 海南省| 锡林浩特市| 五常市| 松溪县| 乐清市| 淮滨县| 略阳县| 巴彦淖尔市| 兴安盟| 班戈县| 吉木萨尔县| 大港区| 万盛区| 漳平市| 罗定市| 左贡县| 河北区| 新巴尔虎右旗| 盐源县| 香格里拉县| 周宁县| 兴和县| 沁水县| 九龙城区| 临安市| 卓尼县| 福州市| 漳州市| 诸暨市|