您好,登錄后才能下訂單哦!
這篇文章主要介紹python判斷輸入是不是數字的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在接收raw_input方法后,判斷接收到的字符串是否為數字
例如:
str = raw_input("please input the number:") if str.isdigit():
為True表示輸入的所有字符都是數字,否則,不是全部為數字
str為字符串 str.isalnum() 所有字符都是數字或者字母 str.isalpha() 所有字符都是字母 str.isdigit() 所有字符都是數字 str.islower() 所有字符都是小寫 str.isupper() 所有字符都是大寫 str.istitle() 所有單詞都是首字母大寫,像標題 str.isspace() 所有字符都是空白字符、\t、\n、\r
上述的主要是針對整型的數字,但是對于浮點數來說就不適用了,那么浮點數怎么判斷呢,一直在糾結這個問題,為什么非要區分整型和浮點數呢,既然都是參與運算的,全部適用浮點數不是一樣嗎,在得到結果后,直接轉換為int型不是一樣嗎,為什么非要糾結在前期去判斷是否整型或者浮點數呢,有了這樣的思路,下面就好做了,例如:
我們可以通過異常來判斷,異常語法如下:
try: {statements} exception: {Exception Objects} {statements} str = raw_input("please input the number:") try: f = float(str) exception ValueError: print("輸入的不是數字!")
==========================================================
還有一種純粹判斷是否為浮點數的方法,使用正則表達式:
#引用re正則模塊
import re
float_number = str(input("Please input the number:"))
#調用正則
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. 關于這個正則表達式,解釋一下:
^[-+]?[0-9]+\.[0-9]+$
^表示以這個字符開頭,也就是以[-+]開頭,[-+]表示字符-或者+之一,
?表示0個或1個,也就是說符號是可選的。
同理[0-9]表示0到9的一個數字,+表示1個或多個,也就是整數部分。
\.表示的是小數點,\是轉義字符因為.是特殊符號(匹配任意單個除\r\n之外的字符),
所以需要轉義。小數部分同理,$表示字符串以此結尾。
以上是python判斷輸入是不是數字的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。