判斷Python輸入是否是整數,字符,或浮點數


Python中定義了string的一些內建方法,可以判斷字符串的組成元素。

 

string.isalnum()

如果 string 至少有一個字符並且所有字符都是字母或數字則返

回 True,否則返回 False

string.isalpha()

如果 string 至少有一個字符並且所有字符都是字母則返回 True,

否則返回 False

string.isdecimal()

如果 string 只包含十進制數字則返回 True 否則返回 False.

string.isdigit()

如果 string 只包含數字則返回 True 否則返回 False.

string.islower()

如果 string 中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是小寫,則返回 True,否則返回 False

string.isnumeric()

如果 string 中只包含數字字符,則返回 True,否則返回 False

string.isspace()

如果 string 中只包含空格,則返回 True,否則返回 False.

string.istitle()

如果 string 是標題化的(見 title())則返回 True,否則返回 False

string.isupper()

如果 string 中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是大寫,則返回 True,否則返回 False

但是對於浮點數來說並沒有對應的方法,可以嘗試通過異常處理來判斷:

str = raw_input("please input the number:")

try:
    f = float(str)
except ValueError:    
    print("input is not a float!")

 

另外還可通過正則表達式來判斷:

import re         #引用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."

 

^[-+]?[0-9]+\.[0-9]+$  

^表示以后面這個字符開頭,也就是以[-+]開頭,[-+]表示字符-或者+之一,?表示0個或1個,也就是說符號-和+是可選的。

[0-9]表示0到9的一個數字,+表示1個或多個,也就是整數部分一個或多個數字。

\.表示的是小數點,\是轉義字符因為.是特殊符號,所以需要轉義。

小數部分同理,$表示字符串以前面的字符結尾,即小數部分一個或多個數字,並以數字結尾。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM