|
发表于 2020-8-6 01:34:58
|
显示全部楼层
本帖最后由 全能小乌贼 于 2020-8-6 01:41 编辑
楼上说的是对的,完整的更改后的程序如下,你可以自己对照着看一看:
- print('--------我爱鱼C工作室---------')
- print("不妨猜一下甲鱼现在心里想的是哪个数字:",end=" ")
- time = 3
- temp = input()
- guess = int(temp)
- while not isinstance(guess, int):
-
- temp = input("抱歉,输入不合法,请输入一个整数:")
-
- while guess != 8 and time > 0:
- time = time-1
-
- if guess < 8:
- print("嘿,小了小了!")
- else:
- print("哥,大了大了!")
- if time > 0:
- print("猜错啦,再来一次吧!")
- else:
- print("机会用完喽!")
- break
- temp = input("请重新输入数字:")
- guess = int(temp)
-
- if guess == 8:
- print("我草,你是小甲鱼心里的蛔虫吗?!")
- print("哼,猜中也没有奖励!")
- print("游戏结束,不玩啦^_^")
复制代码
因为电脑默认输入进去的值均为string(字符串)类型,所以你进行isinstance(guess, int)前需要先转换为int型,所以我把guess = int(temp)语句放到了while循环的前面,并且后面的判断isinstance(guess, int)中应该用guess,你之前用的是temp,当然也可以换另外一种改法,虽然比较冗杂:
- print('--------我爱鱼C工作室---------')
- print("不妨猜一下甲鱼现在心里想的是哪个数字:",end=" ")
- time = 3
- temp = int(input())
- while not isinstance(temp, int):
-
- temp = input("抱歉,输入不合法,请输入一个整数:")
- guess = int(temp)
- while guess != 8 and time > 0: # 也可以直接将guess替换为temp,然后删除上一句的guess = int(temp)
- time = time-1
-
- if guess < 8:
- print("嘿,小了小了!")
- else:
- print("哥,大了大了!")
- if time > 0:
- print("猜错啦,再来一次吧!")
- else:
- print("机会用完喽!")
- break
- temp = input("请重新输入数字:")
- guess = int(temp)
-
- if guess == 8:
- print("我草,你是小甲鱼心里的蛔虫吗?!")
- print("哼,猜中也没有奖励!")
- print("游戏结束,不玩啦^_^")
复制代码 |
|