|  | 
 
| 
想问问判断数据类型的时候为什么不可以这么写(如下面代码,注释部分是我遇到的问题),运行出的结果输出一直是 “输入的数字类型有误,请重新输入”,谢谢大家!
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 import random
 
 times = 3
 secret = random.randint(1,10)
 guess = 0
 print ('猜一猜心中想的是哪个数字:', end='')
 
 while guess !=secret and times >0 :
 temp = input ()
 
 if isinstance(temp, int) == True :#为什么不可以这么写,参考答案这里写的是temp.isdigit()#
 guess = int (temp)
 if guess == secret:
 print ('right')
 else :
 if guess > secret :
 print ('大了大了')
 else :
 print ('小了小了')
 if times >1 :
 print ('再试一次吧', end ='')
 else :
 print ('机会用光了')
 else :
 print ('输入的数字类型有误,请重新输入', end ='')
 
 times = times -1
 print ('游戏结束了')
 
input 函数的作用是等待用户输入并将其转化为字符串后返回
 
 所以 input 函数返回的数据类型永远是 str 字符串
 
 这导致了你 if 的  isinstance(temp, int) 函数返回的永远是 False
 
 
 | 
 |