|  | 
 
| 
各位鱼油
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  我刚开始学习Python,遇到个问题,因为Python3中的input输入后的数据类型均为str类型,请问鱼油,是否可以针对Python的input数据类型做判断和动作。
 
 
 源码如下:
 
 import random    #定义随机函数
 times = 3        #定义尝试次数
 secret = random.randint(0,10)  #生成0-10的随机数
 guess = 0
 print ('--------------我爱鱼C工作室-----------------')
 print('猜一猜我心目中的数字(0-10之间):', end='')
 print('你有%d机会:'%(times))
 
 while (guess != secret) and (times > 0):   #循环判断如果随机数和输入数值不相同,且次数还在范围内
 times = times - 1   #次数递减
 temp = input()  #输入数值
 if isinstance(temp,int) != True:     #判断数据类型
 print('您输入的数据:'+ temp +'不合法,请重新输入我心目中的数字(0-10)之间')
 else:
 guess = int(temp)
 if guess == secret:
 print('猜对了!')
 print('猜对了也不给奖励!你咬我呀!')
 else:
 if guess > secret:
 print('哥,大了大了!还有%d机会' % (times))
 else:
 print('嘿,小了小了!还有%d机会' % (times))
 if times > 0:
 print('在尝试一次吧', end='')
 else:
 print('没机会了')
 print('我心目中的数字是%d' % (secret))
 print('游戏结束!')
 
这种方法是不可取的,if isinstance(temp,int) != True:判断时,temp永远为str,对于初学者可以用temp.isdigit()做简单的判定,最好的方法是用异常处理try | 
 |