|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
复制代码就会报错
如果帮到你了,就设成最佳吧
|
|