第五课动动手第一个问题关于判断数据类型的语句(第一个if后条件的写法)
想问问判断数据类型的时候为什么不可以这么写(如下面代码,注释部分是我遇到的问题),运行出的结果输出一直是 “输入的数字类型有误,请重新输入”,谢谢大家!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()函数获得用户输入的,永远是字符串类型,不信可以测试一下
>>> type(input())
<class 'str'>
input 函数的作用是等待用户输入并将其转化为字符串后返回
所以 input 函数返回的数据类型永远是 str 字符串
这导致了你 if 的isinstance(temp, int) 函数返回的永远是 False
Twilight6 发表于 2021-2-5 07:37
input 函数的作用是等待用户输入并将其转化为字符串后返回
所以 input 函数返回的数据类型永远是 str...
谢谢!! 笨鸟学飞 发表于 2021-2-5 01:03
input()函数获得用户输入的,永远是字符串类型,不信可以测试一下
>>> type(input())
谢谢!!
页:
[1]