首頁 > 軟體

python中isdigit() isalpha()用於判斷字串的型別問題

2022-11-05 14:01:23

isdigit() isalpha()用於判斷字串的型別

要求1

統計某個字串中的數位數量並輸出,例如字串為“adsfsd1adf23sdfa12”

思路:遍歷字串,用isdigit()方法判斷是否為數位,如果為數位,統計+1

程式碼如下:

str=input("請輸入任意字串")
num=0   #統計基數
for i in str:  #遍歷字串
    if i.isdigit():     #判斷是否為數位
        num+=1
print(num)

要求2

在要求1的基礎中統計出現數位的次數,比如12dsd23dsddf1,其中出現數位12,23,1共3次。

思路:此時如果利用上述思路,無法實現要求,故轉換思路。

  • 1.遍歷字串,用 isalpha()判斷字串型別是否Wie字串
  • 2.將字串中的字元都換成空格,此時字串中只有數位和空格
  • 3.將原有字串用split()轉換為列表
  • 4.統計列表元素長度

程式碼如下:

s=input("")
num=0   #統計基數
for i in s: #遍歷字串
    if i.isalpha(): #判斷是否為字串
        s=s.replace(i," ")  #如果是字串,替換為空格
b=s.split()     #拆分字串
print(len(b))   #統計字串長度

isdigit()、isalpha()、isalnum() 三個函數的區別和注意點

一、isdigit()

python關於 isdigit() 內建函數的官方定義:

S.isdigit() -> bool        
        Return True if all characters in S are digits
        and there is at least one character in S, False otherwise.

翻譯:

S.isdigit()返回的是布林值:True False

S中至少有一個字元且如果S中的所有字元都是數位,那麼返回結果就是True;否則,就返回False

S1 = '12345'       #純數位
S2 = '①②'        #帶圈的數位
S3 = '漢字'        #漢字
S4 = '%#¥'        #特殊符號

print(S1.isdigit())
print(S2.isdigit())
print(S3.isdigit())
print(S4.isdigit())

# 執行結果:
True     
True
False
False

二、isalpha()

python關於 isalpha() 內建函數的官方定義:

S.isalpha() -> bool        
        Return True if all characters in S are alphabetic
        and there is at least one character in S, False otherwise.

翻譯:

S.isalpha()返回的是布林值:True False

S中至少有一個字元且如果S中的所有字元都是字母,那麼返回結果就是True;否則,就返回False

S1 = 'abc漢字'     #漢字+字母
S2 = 'ab字134'     #包含數位
S3 = '*&&'         #特殊符號

print(S1.isalpha())
print(S2.isalpha())
print(S3.isalpha())

#執行結果
True
False
False

三、isalnum()

python關於 isalnum() 內建函數的官方定義:

S.isalnum() -> bool 
        Return True if all characters in S are alphanumeric
        and there is at least one character in S, False otherwise.

翻譯:

S.isalnum()返回的是布林值:True False

S中至少有一個字元且如果S中的所有字元都是字母數位,那麼返回結果就是True;否則,就返回False

S1 = 'abc漢字1'    #字母+漢字+數位
S2 = '①②③'      #帶圈的數位
S3 = '%……&'       #特殊符號

print(S1.isalnum())
print(S2.isalnum())
print(S3.isalnum())

#執行結果
True
True
False

注意點:

1.python官方定義中的字母:大家預設為英文字母+漢字即可

2.python官方定義中的數位:大家預設為阿拉伯數位+帶圈的數位即可

相信只要理解到這兩點,這三個函數的在使用時的具體返回值,大家就很明確了~~

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com