python判斷數字是字元還是數字
❶ python 判斷是 數字還是字元
說明:
python輸入的內容在內部全部為字元串,所以要判斷這個字元串是否為一個數字。大多法內部函數並不能對各種形式的數據做出正確判斷,例如isdigit()函數只能判斷字元串是否為純數據組成對於負數則無效了。所以可以使用float()來檢測,
❷ python怎麼判斷輸入的時哪個字元
說明:
python輸入的內容在內部全部為字元串,所以要判斷這個字元串是否為一個數字。大多法內部函數並不能對各種形式的數據做出正確判斷,例如isdigit()函數只能判斷字元串是否為純數據組成對於負數則無效了。所以可以使用float()來檢測,對各種數字的表示方法都有效果。
方法代碼:
#定義函數
def isnub(s):
try:
nb = float(s) #將字元串轉換成數字成功則返回True
return True
except ValueError as e:
return False #如果出現異常則返回False
#測試
print(isnub('123'))
print(isnub('abc'))
print(isnub('123.123'))
print(isnub('-123.123'))
print(isnub('-1.609E-19'))
測試結果如下:
True
False
True
True
True
❸ python 判斷是字元還是數字
判斷的代碼如下,通過異常判斷不能區分前面帶正負號的區別,正則表達式可以根據自己需要比較靈活的寫,通過isdigit方法用來判斷是否是純數字,測試代碼如下
#!/usr/bin/python
# -*- coding: utf-8 -*-
a = "1"
b = "1.2"
c = "a"
#通過拋出異常
def is_num_by_except(num):
try:
int(num)
return True
except ValueError:
# print "%s ValueError" % num
return False
print "通過拋出異常"
print "a", is_num_by_except(a)
print "b", is_num_by_except(b)
print "c", is_num_by_except(c)
print "通過isdigit()"
print "a", a.isdigit()
print "b", b.isdigit()
print "c", c.isdigit()
print "通過正則表達式"
import re
print "a", re.match(r"d+$", a) and True or False
print "b", re.match(r"d+$", b) and True or False
print "c", re.match(r"d+$", c) and True or False
輸出結果如下:
復制代碼代碼如下:
通過拋出異常
a True
b False
c False
通過isdigit()
a True
b False
c False
通過正則表達式
a True
b False
c False
--EOF--
判斷一個字元串只包含數字字元
一種方法是 a.isdigit()。但這種方法對於包含正負號的數字字元串無效,因此更為准確的為:
復制代碼代碼如下:
try:
x = int(aPossibleInt)
… do something with x …
except ValueError:
… do something else …
這樣更准確一些,適用性也更廣。但如果你已經確信沒有正負號,使用字元串的isdigit()方法則更為方便。
還可以用正則表達式:
復制代碼代碼如下:
re.match(r'[+-]?d+$', '-1234′)
❹ python判斷字元串是否為數字
判定是否為數字方法一:
try:
float(s)
returnTrue
exceptValueError:
pass
try:
importunicodedata
unicodedata.numeric(s)
returnTrue
except(TypeError
,ValueError):
pass
returnFalse
方法二:普通十進制正常處理
對於非十進制還需要更復雜的方法,不過這里不討論,只討論普通十進制數的影響。
十進制數格式一般有以下幾種(整數、小數、科學計數法):
+123[符號位][數字]
-123.123[符號位][小數點][數字]
+123E+123[整數或小數][E或者D,大小寫皆可][整數]
❺ python程序 問題求解【例7.6】 編寫代碼,判斷一個字元屬於阿拉伯數字,大寫字母,小寫字母或其他字元
tc = 'n'
while tc:
a =input("請輸入字元(退出請輸入q):")
if a =='q':
break
if a.isdigit() :
print("輸入的是阿拉伯數字:{}".format(a))
elif a.isalpha ():
if a.isupper():
print("輸入的是大寫字母:{}".format(a))
else:
print("輸入的是小寫字母:{}".format(a))
else:
print("輸入的是其它字元:{}".format(a))
❻ python怎麼判讀輸入的是字元串還是數字
>>>type(5)
<type 'int'>
>>> type('adf')
<type 'str'>
❼ python 判斷字元是不是數字
正則匹配法比較嚴謹一些,你說的數字有沒有條件限制?
下面是一些常用的判斷各種數字的正則表達式:
驗證數字:^[0-9]*$
驗證n位的數字:^d{n}$
驗證至少n位數字:^d{n,}$
驗證m-n位的數字:^d{m,n}$
驗證零和非零開頭的數字:^(0|[1-9][0-9]*)$
驗證有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$
驗證有1-3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$
驗證非零的正整數:^+?[1-9][0-9]*$
驗證非零的負整數:^-[1-9][0-9]*$
驗證非負整數(正整數 + 0) ^d+$
驗證非正整數(負整數 + 0) ^((-d+)|(0+))$
確定後使用python的re模塊來匹配正則
寫個小例子:
importre
p1=re.compile('^[0-9]*$')
number=p1.match(value)
ifnumber:
print"yes"
else:
print"no"
希望我的回答可以幫到你:-)
❽ python 判斷是 數字還是字元
說明: python輸入的內容在內部全部為字元串,所以要判斷這個字元串是否為一個數字。大多法內部函數並不能對各種形式的數據做出正確判斷,例如isdigit()函數只能判斷字元串是否為純數據組成對於負數則無效了。所以可以使用float()來檢測,
❾ python怎麼判斷字元是不是數字
正則匹配法比較嚴謹一些,你說的數字有沒有條件限制?
下面是一些常用的判斷各種數字的正則表達式:
驗證數字:^[0-9]*$
驗證n位的數字:^d{n}$
驗證至少n位數字:^d{n,}$
驗證m-n位的數字:^d{m,n}$
驗證零和非零開頭的數字:^(0|[1-9][0-9]*)$
驗證有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$
驗證有1-3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$
驗證非零的正整數:^+?[1-9][0-9]*$
驗證非零的負整數:^-[1-9][0-9]*$
驗證非負整數(正整數 + 0) ^d+$
驗證非正整數(負整數 + 0) ^((-d+)|(0+))$
確定後使用python的re模塊來匹配正則
寫個小例子:
importre
p1=re.compile('^[0-9]*$')
number=p1.match(value)
ifnumber:
print"yes"
else:
print"no"
希望我的回答可以幫到你:-)
❿ python如何判斷輸入是字元串還是數字
用isnumeric()方法。isnumeric() 方法檢測字元串是否只由數字組成,如果字元串中只包含數字字元,則返回 True,否則返回 False