python中isdigit() isalpha()用于判斷字符串的類型問題
isdigit() isalpha()用于判斷字符串的類型
要求1
統(tǒng)計(jì)某個(gè)字符串中的數(shù)字?jǐn)?shù)量并輸出,例如字符串為“adsfsd1adf23sdfa12”
思路:遍歷字符串,用isdigit()方法判斷是否為數(shù)字,如果為數(shù)字,統(tǒng)計(jì)+1
代碼如下:
str=input("請(qǐng)輸入任意字符串") num=0 ? #統(tǒng)計(jì)基數(shù) for i in str: ?#遍歷字符串 ? ? if i.isdigit(): ? ? #判斷是否為數(shù)字 ? ? ? ? num+=1 print(num)
要求2
在要求1的基礎(chǔ)中統(tǒng)計(jì)出現(xiàn)數(shù)字的次數(shù),比如12dsd23dsddf1,其中出現(xiàn)數(shù)字12,23,1共3次。
思路:此時(shí)如果利用上述思路,無法實(shí)現(xiàn)要求,故轉(zhuǎn)換思路。
- 1.遍歷字符串,用 isalpha()判斷字符串類型是否Wie字符串
- 2.將字符串中的字符都換成空格,此時(shí)字符串中只有數(shù)字和空格
- 3.將原有字符串用split()轉(zhuǎn)換為列表
- 4.統(tǒng)計(jì)列表元素長度
代碼如下:
s=input("") num=0 ? #統(tǒng)計(jì)基數(shù) for i in s: #遍歷字符串 ? ? if i.isalpha(): #判斷是否為字符串 ? ? ? ? s=s.replace(i," ") ?#如果是字符串,替換為空格 b=s.split() ? ? #拆分字符串 print(len(b)) ? #統(tǒng)計(jì)字符串長度
isdigit()、isalpha()、isalnum() 三個(gè)函數(shù)的區(qū)別和注意點(diǎn)
一、isdigit()
python關(guān)于 isdigit() 內(nèi)置函數(shù)的官方定義:
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中至少有一個(gè)字符且如果S中的所有字符都是數(shù)字,那么返回結(jié)果就是True;否則,就返回False
S1 = '12345' ? ? ? #純數(shù)字 S2 = '①②' ? ? ? ?#帶圈的數(shù)字 S3 = '漢字' ? ? ? ?#漢字 S4 = '%#¥' ? ? ? ?#特殊符號(hào) print(S1.isdigit()) print(S2.isdigit()) print(S3.isdigit()) print(S4.isdigit()) # 執(zhí)行結(jié)果: True ? ?? True False False
二、isalpha()
python關(guān)于 isalpha() 內(nèi)置函數(shù)的官方定義:
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中至少有一個(gè)字符且如果S中的所有字符都是字母,那么返回結(jié)果就是True;否則,就返回False
S1 = 'abc漢字' ? ? #漢字+字母 S2 = 'ab字134' ? ? #包含數(shù)字 S3 = '*&&' ? ? ? ? #特殊符號(hào) print(S1.isalpha()) print(S2.isalpha()) print(S3.isalpha()) #執(zhí)行結(jié)果 True False False
三、isalnum()
python關(guān)于 isalnum() 內(nèi)置函數(shù)的官方定義:
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中至少有一個(gè)字符且如果S中的所有字符都是字母數(shù)字,那么返回結(jié)果就是True;否則,就返回False
S1 = 'abc漢字1' ? ?#字母+漢字+數(shù)字 S2 = '①②③' ? ? ?#帶圈的數(shù)字 S3 = '%……&' ? ? ? #特殊符號(hào) print(S1.isalnum()) print(S2.isalnum()) print(S3.isalnum()) #執(zhí)行結(jié)果 True True False
注意點(diǎn):
1.python官方定義中的字母:大家默認(rèn)為英文字母+漢字即可
2.python官方定義中的數(shù)字:大家默認(rèn)為阿拉伯?dāng)?shù)字+帶圈的數(shù)字即可
相信只要理解到這兩點(diǎn),這三個(gè)函數(shù)的在使用時(shí)的具體返回值,大家就很明確了~~
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django實(shí)現(xiàn)發(fā)送郵件找回密碼功能
在各大網(wǎng)站上,一定都遇到過找回密碼的問題,通常采用的方式是通過發(fā)送帶有驗(yàn)證碼的郵件進(jìn)行身份驗(yàn)證,本文將介紹通過Django實(shí)現(xiàn)郵件找回密碼功能,需要的朋友可以參考下2019-08-08Python實(shí)現(xiàn)帶圖形界面的炸金花游戲
詐金花又叫三張牌,是在全國廣泛流傳的一種民間多人紙牌游戲,它具有獨(dú)特的比牌規(guī)則。本文將通過Python語言實(shí)現(xiàn)帶圖形界面的詐金花游戲,需要的可以參考一下2022-12-12使用Python進(jìn)行時(shí)間序列分析的8種繪圖類型
時(shí)間序列數(shù)據(jù)是按時(shí)間順序按固定時(shí)間間隔排列的觀測值的集合,每個(gè)觀察對(duì)應(yīng)于一個(gè)特定的時(shí)間點(diǎn),并且可以以各種頻率(例如,每天、每月、每年)記錄數(shù)據(jù),本文介紹了幾種類型的繪圖,可幫助您使用 Python 進(jìn)行時(shí)間序列分析,并提供使用可免費(fèi)訪問的數(shù)據(jù)集的詳細(xì)示例2023-09-09Python采集C站熱榜數(shù)據(jù)實(shí)戰(zhàn)示例
這篇文章主要為大家介紹了Python采集C站熱榜數(shù)據(jù)實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Python實(shí)現(xiàn)聚類K-means算法詳解
這篇文章主要介紹了Python實(shí)現(xiàn)聚類K-means算法詳解,K-means(K均值)算法是最簡單的一種聚類算法,它期望最小化平方誤差,具體詳解需要的朋友可以參考一下2022-07-07Python MySQLdb模塊連接操作mysql數(shù)據(jù)庫實(shí)例
這篇文章主要介紹了Python MySQLdb模塊連接操作mysql數(shù)據(jù)庫實(shí)例,本文直接給出操作mysql代碼實(shí)例,包含創(chuàng)建表、插入數(shù)據(jù)、插入多條數(shù)據(jù)、查詢數(shù)據(jù)等內(nèi)容,需要的朋友可以參考下2015-04-04Python獲取接口請(qǐng)求耗時(shí)的方法詳解
你想知道我們請(qǐng)求一個(gè)url的時(shí)候,握手和請(qǐng)求資源分別占用多長時(shí)間么?今天我們就來使用python寫個(gè)小案例來看看,感興趣的可以跟隨小編一起了解一下2023-04-04python實(shí)現(xiàn)簡單聊天應(yīng)用 python群聊和點(diǎn)對(duì)點(diǎn)均實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡單聊天應(yīng)用,python群聊和點(diǎn)對(duì)點(diǎn)均實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09Python虛擬環(huán)境virtualenv創(chuàng)建及使用過程圖解
這篇文章主要介紹了Python虛擬環(huán)境virtualenv創(chuàng)建及使用過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12