python判断输入是否为正整数

Python024

python判断输入是否为正整数,第1张

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

例如:

text = input('输入:')

if text.isdecimal():

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

else:

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

还要判断浮点类型7.0这种是整数。那就*10然后用取余数%10来判断余数是否为0,if x*10%10= 0,是0就是整数,不是0就不是整数。

参考:def is_int(num): if type(num)==int: return True elif type(num)==float: if int(num)==num: return True else: return False x=6.8 Bool=is_int(x) print(Bool)

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。。。