鱼C论坛

 找回密码
 立即注册
查看: 736|回复: 4

[已解决]关于零基础入门学习里小游戏的问题,跳不出循环

[复制链接]
发表于 2018-1-30 12:56:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import random
  2. secret = random.randint(1,10)
  3. print("--------------我爱鱼c工作室--------------")
  4. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字 : ")
  5. while not isinstance(temp,int):
  6.     print("抱歉,输入不合法,",end='')
  7.     temp = input("请输入一个整数:")
  8.     guess = int(temp)
  9.     if guess == secret:
  10.         print("我草,你是小甲鱼心里的蛔虫吗?!")
  11.         print("哼,猜中了也没有奖励!")
  12.     else:
  13.         while guess != secret:
  14.             if guess >secret:
  15.                 print("哥,大了大了~~")
  16.             else:
  17.                 print("嘿,小了小了~~")
  18.             temp = input("哎呀,猜错了,请重新输入吧 : ")
  19.             guess = int(temp)
  20. print("游戏结束")
  21. print("不玩啦~")
  22.             
复制代码


这段代码一直跳不出第一个循环,是哪里出问题了呢?
最佳答案
2018-1-30 13:21:30
input返回的是一个字符串,用isinstance来和int判断肯定为False
你需要字符串的方法
while not temp.isdigit()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-30 13:04:50 | 显示全部楼层
input结果总是str类型的,条件衡成立,推荐使用str.isdigit()来判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-30 13:21:30 | 显示全部楼层    本楼为最佳答案   
input返回的是一个字符串,用isinstance来和int判断肯定为False
你需要字符串的方法
while not temp.isdigit()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-30 13:36:39 | 显示全部楼层
BngThea 发表于 2018-1-30 13:21
input返回的是一个字符串,用isinstance来和int判断肯定为False
你需要字符串的方法
while not temp.isdi ...
  1. import random
  2. secret = random.randint(1,10)
  3. print("--------------这是一个无聊的游戏--------------")
  4. temp = input("不妨猜一下我现在心里想的是哪个数字 : ")
  5. while not temp.isdigit():
  6.     print("抱歉,输入不合法,",end='')
  7.     temp = input("请输入一个整数:")
  8.     guess = int(temp)
  9. guess = int(temp)
  10. if guess == secret:
  11.     print("你是我心里的蛔虫吗?!")
  12.     print("哼,猜中了也没有奖励!")
  13. else:
  14.     while guess != secret:
  15.         if guess >secret:
  16.             print("哥,大了大了~~")
  17.         else:
  18.             print("嘿,小了小了~~")
  19.         temp = input("哎呀,猜错了,请重新输入吧 : ")
  20.         guess = int(temp)
  21.     print("你是我心里的蛔虫吗?!")
  22.     print("哼,猜中了也没有奖励!")
  23. print("游戏结束")
  24. print("不玩啦~")
  25.             
复制代码

现在改进了下,但是发现只能判断第一次,正确一次后就不行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-30 14:03:19 | 显示全部楼层
hitank 发表于 2018-1-30 13:36
现在改进了下,但是发现只能判断第一次,正确一次后就不行了

你的代码中根本没有对次数的控制相关语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 12:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表