|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
|
|