#coding:utf-8
'''
下面就做一个练习, 要求是:
1. 接收任何字符和数字的输入
2. 判断输入的内容, 如果不是整数是字符, 就告诉给用户;如果是小数, 也告诉用户
3. 如果输入的是整数, 判断这个整数是奇数还是偶数, 并且告诉给用户
'''
def isOuShu(user_input):
if int(user_input)%2 == 0:
return True
else:
return False
print 'Please input character or integer, and end with Enter'
user_input = raw_input()
while user_input != 'q':
try:
if type(eval(user_input)) == int:
if isOuShu(user_input):
print 'your input is an 偶数'
else:
print 'your input is an 奇数'
else:
if type(eval(user_input)) == float:
print 'your input is an float'
except Exception:
print 'your input is a string'
print 'Please input character or integer, and end with Enter'
user_input = raw_input()
Note:为了避开当输入是字符数字混合型的时候报异常,用了try except, 还有待完善的地方,是否有更好的办法?
但是 type(eval(user_input))这招还是挺管用的,需要注意到是raw_input读入进来就是str型的,所以用isinstance肯定是不行的