鱼C论坛

 找回密码
 立即注册
查看: 791|回复: 2

[已解决]关于Python04中的小程序失败了无限循环怎么解决?

[复制链接]
发表于 2018-12-24 19:40:01 | 显示全部楼层 |阅读模式

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

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

x
time = 2
import random
secret = random.randint(1,10)
print('你好哦,我们来玩个游戏吧!')
temp=input("下面来猜测下我心里想的是什么数字哦!有3次机会哦!!!")
guess=int(temp)
while guess != secret:
    time-= 1
    if guess<secret:
        print("小了额")
    else:
        print("大了额")
    times=str(time+1)
    timess=int(times)
    if timess >0:
        print('你还有'+times+"次机会哦!")
        temp=input("猜错了哦,再来一次吧!")
        guess=int(temp)
    else:
        print('失败啦')               ######################################
        print("GAME OVER")      #勉强做出来了,但是这里两行失败了就无限刷屏了,怎么解决?求指导,附图是逻辑图
print("恭喜你哦!猜对啦!吼吼吼!!!")
print("GAME OVER")
最佳答案
2018-12-24 20:15:03
加上两句代码即可解决你的问题,你的程序逻辑有问题

  1. time = 2
  2. import random
  3. secret = random.randint(1,10)
  4. print('你好哦,我们来玩个游戏吧!')
  5. temp=input("下面来猜测下我心里想的是什么数字哦!有3次机会哦!!!")
  6. guess=int(temp)
  7. while guess != secret :
  8.     time-= 1
  9.     if guess<secret:
  10.         print("小了额")
  11.     else:
  12.         print("大了额")
  13.     times=str(time+1)
  14.     timess=int(times)
  15.     if timess >0:
  16.         print('你还有'+times+"次机会哦!")
  17.         temp=input("猜错了哦,再来一次吧!")
  18.         guess=int(temp)
  19.     else:
  20.         print('失败啦')               ######################################
  21.         print("GAME OVER")      #勉强做出来了,但是这里两行失败了就无限刷屏了,怎么解决?求指导,附图是逻辑图

  22. #--------------------------------------------------------------------------------
  23.         #加上下面两句即可
  24.         break
  25. if guess == secret :
  26. #--------------------------------------------------------------------------------
  27.         
  28.         print("恭喜你哦!猜对啦!吼吼吼!!!")
  29.         print("GAME OVER")
复制代码

这是逻辑图

这是逻辑图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-24 19:51:15 | 显示全部楼层
本帖最后由 heidern0612 于 2018-12-24 19:55 编辑

你的time限制了你猜的次数,time只等于2,把time改的稍微大一些。

while只有满足条件才会跳出,你while只有在猜中的时候才会跳出循环。

另外始终猜不中的话请break掉程序,或者在while里面加个限定条件,例如time > 1.


程序比较乱,逻辑也比较乱,请先自己尝试改一改,改多了你会掌握很多。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-24 20:15:03 | 显示全部楼层    本楼为最佳答案   
加上两句代码即可解决你的问题,你的程序逻辑有问题

  1. time = 2
  2. import random
  3. secret = random.randint(1,10)
  4. print('你好哦,我们来玩个游戏吧!')
  5. temp=input("下面来猜测下我心里想的是什么数字哦!有3次机会哦!!!")
  6. guess=int(temp)
  7. while guess != secret :
  8.     time-= 1
  9.     if guess<secret:
  10.         print("小了额")
  11.     else:
  12.         print("大了额")
  13.     times=str(time+1)
  14.     timess=int(times)
  15.     if timess >0:
  16.         print('你还有'+times+"次机会哦!")
  17.         temp=input("猜错了哦,再来一次吧!")
  18.         guess=int(temp)
  19.     else:
  20.         print('失败啦')               ######################################
  21.         print("GAME OVER")      #勉强做出来了,但是这里两行失败了就无限刷屏了,怎么解决?求指导,附图是逻辑图

  22. #--------------------------------------------------------------------------------
  23.         #加上下面两句即可
  24.         break
  25. if guess == secret :
  26. #--------------------------------------------------------------------------------
  27.         
  28.         print("恭喜你哦!猜对啦!吼吼吼!!!")
  29.         print("GAME OVER")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 04:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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