python中如何判断一个数是否为整数

Python014

python中如何判断一个数是否为整数,第1张

python中如何判断一个数x是否为整数

x是整数,取整后仍是整数,int(x)==x 为True

x不是整数,就是含有小数部分,int(x)!=x 为True

isinstance()函数

>>>isinstance("123",str)

>>>Flase

>>>isinstance(123,int)

>>>True

>>>isinstance({'123'},list)

>>>False

>>>isinstance(['123'],int)

>>>False

使用内置的  str.isdecimal() 方法可以判断,如果 str只包含十进制数字则返回 True 否则返回 False

例如:

text = input('输入:')

if text.isdecimal():

print('你输入了一个正整数')

else:

print('你输入的不是一个正整数')

n=None

while not isinstance(n,int):

n1=raw_input("Please input a number: ")

try:

n=eval(n1)

except:

n1=raw_input("Please input a number: ")

#try-except对排除了输入为字符串的情况。因为由字母构成的字符串是不能eval的,可是'123'可以被eval

#isinstance(*,int)是检测*是否为整数的方法。

呵呵,感觉这种要求导致的代码相当awkward呀,要我就直接这样

n=int(raw_input("Please input an integer: "))

虽然不怎么robust。。。