鱼C论坛

 找回密码
 立即注册
查看: 1106|回复: 7

[已解决]求助大佬

[复制链接]
发表于 2019-10-20 13:07:00 | 显示全部楼层 |阅读模式

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

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

x
#猜数字
import random
answer=random.randint(0,10)
a=input('请输入一个整数:')
while True:
    try:
        a=int(a)
        break
    except ValueError as reason:
        a=input('输入错误!请输入一个在0~10的数字:')   
while a!=answer:
    if a>answer:
         print('大了大了,再输入一次吧')
    elif a<answer:   
         print('小了小了,再输入一次吧')   
    a=int(input('试一试:'))
    if a==answer:
         print('你真聪明!')
print('游戏结束啦')


请问大佬为什么try后面要加上break呢??
最佳答案
2019-10-20 13:25:17
因为不 break 就会一直执行死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-20 13:25:17 | 显示全部楼层    本楼为最佳答案   
因为不 break 就会一直执行死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-20 13:25:55 | 显示全部楼层
不然这个while循环(第一个while循环)会一直执行下去,无法跳出循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-20 14:22:19 | 显示全部楼层
try/except是异常处理的程序块,try下面对语句会正常执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-20 16:54:39 | 显示全部楼层
要不然死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-20 17:35:28 | 显示全部楼层
对呀,会一直死循环,不信你去试一试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-21 20:49:41 | 显示全部楼层
break是跳出循环,不然你就一直将a转换为整数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-22 19:06:43 | 显示全部楼层
本帖最后由 joul 于 2019-10-22 19:12 编辑

#猜数字
import easygui
import random
answer=random.randint(0,10)
times=0
while True:
  try:
     guess=int(easygui.enterbox('猜猜我心里面想的一个数'))
     break
  except:
     guess=int(easygui.enterbox('错误!请输入一个整数!'))
while (guess!=answer)and(times<3):
    if guess>answer:
        guess=int(easygui.enterbox('大了大了,再试试吧'))
        times+=1
    elif guess<answer:
        guess=int(easygui.enterbox('小了小了,再试试吧'))
        times+=1
if guess==answer:
    easygui.msgbox('you are so clever!')
else:
    easygui.msgbox('你的机会已经用光!')

嗯嗯,但是又有问题( -  - || )引入easygui的时候就又不行了,执行一次“错误!请输入整数后”如果再次输入其他东西程序就报错了。
报错中有一句话是“During handling of the above exception, another exception occurred:”,为啥不引入easygui的时候没有啊?
还有就是报错语句有一句为”During handling of the above exception, another exception occurred“,这是为啥?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 05:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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