創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

這篇文章主要介紹python判斷輸入是不是數(shù)字的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
在接收raw_input方法后,判斷接收到的字符串是否為數(shù)字
例如:
str = raw_input("please input the number:")
if str.isdigit():為True表示輸入的所有字符都是數(shù)字,否則,不是全部為數(shù)字
str為字符串 str.isalnum() 所有字符都是數(shù)字或者字母 str.isalpha() 所有字符都是字母 str.isdigit() 所有字符都是數(shù)字 str.islower() 所有字符都是小寫 str.isupper() 所有字符都是大寫 str.istitle() 所有單詞都是首字母大寫,像標(biāo)題 str.isspace() 所有字符都是空白字符、\t、\n、\r
上述的主要是針對(duì)整型的數(shù)字,但是對(duì)于浮點(diǎn)數(shù)來說就不適用了,那么浮點(diǎn)數(shù)怎么判斷呢,一直在糾結(jié)這個(gè)問題,為什么非要區(qū)分整型和浮點(diǎn)數(shù)呢,既然都是參與運(yùn)算的,全部適用浮點(diǎn)數(shù)不是一樣嗎,在得到結(jié)果后,直接轉(zhuǎn)換為int型不是一樣嗎,為什么非要糾結(jié)在前期去判斷是否整型或者浮點(diǎn)數(shù)呢,有了這樣的思路,下面就好做了,例如:
我們可以通過異常來判斷,異常語法如下:
try:
{statements}
exception: {Exception Objects}
{statements}
str = raw_input("please input the number:")
try:
f = float(str)
exception ValueError:
print("輸入的不是數(shù)字!")==========================================================
還有一種純粹判斷是否為浮點(diǎn)數(shù)的方法,使用正則表達(dá)式:
#引用re正則模塊
import re
float_number = str(input("Please input the number:"))
#調(diào)用正則
value = re.compile(r'^[-+]?[0-9]+\.[0-9]+$') result = value.match(float_number) if result: print "Number is a float." else: print "Number is not a float."
2. 關(guān)于這個(gè)正則表達(dá)式,解釋一下:
^[-+]?[0-9]+\.[0-9]+$
^表示以這個(gè)字符開頭,也就是以[-+]開頭,[-+]表示字符-或者+之一,
?表示0個(gè)或1個(gè),也就是說符號(hào)是可選的。
同理[0-9]表示0到9的一個(gè)數(shù)字,+表示1個(gè)或多個(gè),也就是整數(shù)部分。
\.表示的是小數(shù)點(diǎn),\是轉(zhuǎn)義字符因?yàn)?是特殊符號(hào)(匹配任意單個(gè)除\r\n之外的字符),
所以需要轉(zhuǎn)義。小數(shù)部分同理,$表示字符串以此結(jié)尾。
以上是python判斷輸入是不是數(shù)字的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
網(wǎng)頁標(biāo)題:python判斷輸入是不是數(shù)字的方法-創(chuàng)新互聯(lián)
本文鏈接:http://chinadenli.net/article36/dghopg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、App設(shè)計(jì)、用戶體驗(yàn)、移動(dòng)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)