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

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

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

算法1

1、分小數(shù)和整數(shù):如果小數(shù)點(diǎn)個(gè)數(shù)為1,則可能是小數(shù)。如小數(shù)點(diǎn)個(gè)數(shù)為0,則可能是整數(shù)。小數(shù)點(diǎn)個(gè)數(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:        #這個(gè)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、判斷"."和"-"的個(gè)數(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:        #這個(gè)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)文章

最新評論

兴仁县| 霍邱县| 吉木萨尔县| 泗水县| 贵德县| 资兴市| 屏东市| 东阳市| 庆安县| 鲜城| 南通市| 铁力市| 台东市| 得荣县| 武城县| 沂南县| 海淀区| 广东省| 唐海县| 科尔| 松滋市| 论坛| 徐闻县| 吉木萨尔县| 藁城市| 永丰县| 左贡县| 教育| 湖北省| 东乡族自治县| 巴彦县| 吴川市| 贺兰县| 榆社县| 夏津县| 麻江县| 威宁| 泽州县| 犍为县| 玛曲县| 莫力|