| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
各位大佬求助  为什么我用while not isinstance(temp, int),我无论输入一个整数还是字符串都会进入循环呢。代码如下: 
- import random
 - times = 3
 - secret = random.randint(1,10)
 - print('------------------我爱鱼C工作室------------------')
 - guess = 0
 - print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
 - while (guess != secret) and (times > 0):
 -     temp = input()
 -     while not isinstance(temp,int):
 -         print("字符类型出错,请输入整数:", end = " ")
 -         temp = input()
 -     guess = int(temp)
 -     times = times - 1 # 用户每输入一次,可用机会就-1
 -     if guess == secret:
 -         print("我草,你是小甲鱼心里的蛔虫吗?!")
 -         print("哼,猜中了也没有奖励!")
 -     else:
 -         if guess > secret:
 -             print("哥,大了大了~~~")
 -         else:
 -             print("嘿,小了,小了~~~")
 -         if times > 0:
 -             print("再试一次吧:", end=" ")
 -         else:
 -             print("机会用光咯T_T")
 - print("游戏结束,不玩啦^_^")
 
 
  
 
执行结果如下: 
------------------我爱鱼C工作室------------------ 
不妨猜一下小甲鱼现在心里想的是哪个数字: 1 
字符类型出错,请输入整数: 1 
字符类型出错,请输入整数: 1 
字符类型出错,请输入整数: 1 
字符类型出错,请输入整数: g 
字符类型出错,请输入整数: g 
字符类型出错,请输入整数: fhfgh 
字符类型出错,请输入整数: 1.0 
字符类型出错,请输入整数: 2.22 
字符类型出错,请输入整数: 
 本帖最后由 liuzhengyuan 于 2020-5-17 11:39 编辑 
不可以,因为如果我输入的不是数字 
使用 int() 时就会出错 
所以python 专门搞了一个 isdigit()
 
比如
 - temp = 'a'
 
 - guess = int(temp)
 
  复制代码就会报错
 如果帮到你了,就设成最佳吧  
 
 
 |   
 
 
 
 |