python 判斷輸入類型

判斷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("輸入的不是數字!")

==========================================================

還有一種純粹判斷是否為浮點數的方法,使用正則表達式:

1.#引用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之外的字符),

所以需要轉義。

小數部分同理,$表示字符串以此結尾。

才開始學正則,有錯誤的地方請大家指正。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • http://python.jobbole.com/85231/ 關于專業技能寫完項目接著寫寫一名3年工作經驗的J...
    燕京博士閱讀 7,630評論 1 118
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 文章轉載地址: http://www.open-open.com/code/view/1430625516632 ...
    得起一個清新脫俗的名字閱讀 2,213評論 1 3
  • 這個故事的主人翁是一對三年級的同班同學,都只是10歲的孩子,沒有不良記錄。平時兩人的關系也沒有很親近,留給我的印象...
    一個瘋子的出路閱讀 466評論 0 0
  • 沉重密實的窗簾被那只不知什么時候竄進這里的野貓蹭開一角。野貓?好像也不是吧?也許,它本來就在這里呢。 我是被那一角...
    Darkest_days閱讀 199評論 2 1