python判斷字串是否是數字的演算法

2021-10-14 16:46:14 字數 3241 閱讀 9751

判斷字串是否是數字(包含負數和小數)

演算法1:

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

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

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

2)如果首位不為負號;或者是首位為負號,去掉首位負號之後。則判斷是否為是否為「.」,如果是,那麼就不是數字,如果不是,就去掉"."

3)再判斷剩下字元是否都在"0123456789"內,如果不都在則不是數字,否則就是數字

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

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

2)如果首位不為負號;或者是首位為負號,去掉首位負號之後。判斷剩下字元是否都在"0123456789"內,如果不都在則不是數字,否則就是數字

:#小數的判斷

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對應的

return

true

elif s.count(

".")==0

:#整數的判斷

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、判斷首位是否是負號或者數字,如果不是,則不是數字。如果是,則可能是數字。

2、判斷".「和」-"的個數是否都小於等於1,如果不是,則不是數字,如果是,則可能是數字。

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

4、判斷剩下的字元是否都在"0123456789"內,如果不都在則不是數字,否則就是數字

:#這個else與for對應

判斷字串 python判斷字串是否包含字母

第一種方法 使用正規表示式判斷字串是否包含字母 coding utf 8 import re def check str my re re.compile r a za z re.s res re.findall my re,str if len res print u 含有英文本元 else pr...

如何判斷字串是否是整數 (python)

題目描述 寫乙個方法,檢查字串是否為整數,那麼返回整數值。分析與解答 整數分為負數和非負數,負數只有一種表示方法,而非負數可以有兩種表示方法。例如111,111,111,因此在判斷字串是否為整數的時候,需要把這幾個問題都考慮到。下面說兩個方法,方法一 遞迴法 對於整數而言,例如111,可以看成11 ...

python判斷字串是否是json格式方法

在實際工作中,有時候需要對判斷字串是否為合法的json格式 解決方法使用json.loads,這樣更加符合 pythonic 寫法 示例 python import json def is json myjson try json object json.loads myjson except va...