python中如何判断raw_input()输入的是数字?是判断,不是变成整型

2024-12-01 17:39:24
推荐回答(1个)
回答1:

n=Nonewhilenotisinstance(n,int):n1=raw_input("Pleaseinputanumber:")try:n=eval(n1)except:n1=raw_input("Pleaseinputanumber:")#try-except对排除了输入为字符串的情况。因为由字母构成的字符串是不能eval的,可是'123'可以被eval#isinstance(*,int)是检测*是否为整数的方法。呵呵,感觉这种要求导致的代码相当awkward呀,要我就直接这样n=int(raw_input("Pleaseinputaninteger:"))虽然不怎么robust。。。