在接收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之外的字符),
所以需要轉義。
小數部分同理,$表示字符串以此結尾。
判斷輸入是否全為數字、字符等
s為字符串
s.isalnum() 所有字符都是數字或者字母,為真返回 Ture,否則返回 False。
s.isalpha() 所有字符都是字母,為真返回 Ture,否則返回 False。
s.isdigit() 所有字符都是數字,為真返回 Ture,否則返回 False。
s.islower() 所有字符都是小寫,為真返回 Ture,否則返回 False。
s.isupper() 所有字符都是大寫,為真返回 Ture,否則返回 False。
s.istitle() 所有單詞都是首字母大寫,為真返回 Ture,否則返回 False。
s.isspace() 所有字符都是空白字符,為真返回 Ture,否則返回 False。
例如:
s = 'I LOVE YOU' s.isupper() True
這篇文章就介紹到這了,希望大家以后多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
