鱼C论坛

 找回密码
 立即注册
查看: 3585|回复: 8

[已解决]求大佬能帮助

[复制链接]
发表于 2021-2-8 12:42:48 | 显示全部楼层
本帖最后由 Daniel_Zhang 于 2021-2-8 12:46 编辑

你有没有发现一件事,一个很关键的问题,你的 times = times - 1 在无论是否为数字的情况下,都会 - 1

而我们的期望是,只有它是数字的情况下,才会 - 1,也就是剩余机会 - 1

所以应该把它放在 if temp.isdigit(): 的里面对不对

  1. print('----------sss--------------')
  2. import random
  3. secret=random.randint(1,10)
  4. times=3
  5. temp=input('请输入数字:')
  6. guess=0
  7. while (guess !=secret)and (times>0):
  8.     if temp.isdigit():
  9.         guess=int(temp)
  10.         if guess==secret:
  11.             print('小蛔虫')
  12.         else:
  13.             if guess>secret:
  14.                 print('大了大了')
  15.             else:
  16.                 print('小了小了')
  17.             if times>1:
  18.                 temp=input('请再输入一次:')
  19.             else:
  20.                 print('机会用完了')
  21.         times=times-1
  22.     else:
  23.         temp=input('请输入一个整数:')
  24.    
  25. print('游戏结束')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 12:47:47 | 显示全部楼层


老哥,这个还是没解决问题啊,times -1 那个得放在 if temp.isdigit(): 里面,不然跑起来还是会如同楼主说的那样
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 13:04:28 | 显示全部楼层
本帖最后由 Daniel_Zhang 于 2021-2-8 13:06 编辑
°蓝鲤歌蓝 发表于 2021-2-8 12:50
你运行一下不就知道了,我只是没在 猜对了 后面加 break 跳出循环而已




其实也不需要 break 因为 while 那里会不满足 guess != secret 的条件,运行不了


可能我误解了楼主的意思?我以为楼主想实现的是:


输入的不是数字的话,次数不会 - 1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-2 02:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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