鱼C论坛

 找回密码
 立即注册
查看: 1043|回复: 5

[已解决]第33讲动动手第0题

[复制链接]
发表于 2020-8-3 21:10:22 | 显示全部楼层 |阅读模式

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

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

x
import random

secret = random.randint(1,10)
print('我爱鱼C工作室')
temp = input('不妨猜一下小甲鱼现在心里想的是哪个数字:')
guess = temp
try:
    type(guess) == type(1)
        
except ValueError:
    print('输入异常')

    guess = secret
   
while guess != secret:
    temp = input('哎呀,猜错啦,请重新输入吧:')
    guess = int(temp)

    if guess == secret:
        print('卧槽,你是小甲鱼心里的蛔虫吗?')
        print('哼,猜中了也没有奖励')

    else:
        if guess > secret:
            print('哥,大了大了')
        else:
            print('嘿,小了小了')
print('游戏结束,不玩啦')

我标注加粗字体的部分是这样写的,结果不能够显示‘输入错误’,直接进入下边循环了,想知道是哪里的错误,感谢
最佳答案
2020-8-3 21:17:20

你应该是想达到这种效果,这样当你输入不是整数时候就会触发 except

而你之前的只是个逻辑判断,不会导致触发异常的:
import random

secret = random.randint(1, 10)
print('我爱鱼C工作室')
temp = input('不妨猜一下小甲鱼现在心里想的是哪个数字:')
try:
    guess = int(temp)
except ValueError:
    print('输入异常')
    guess = secret

while guess != secret:
    temp = input('哎呀,猜错啦,请重新输入吧:')
    guess = int(temp)

    if guess == secret:
        print('卧槽,你是小甲鱼心里的蛔虫吗?')
        print('哼,猜中了也没有奖励')

    else:
        if guess > secret:
            print('哥,大了大了')
        else:
            print('嘿,小了小了')
print('游戏结束,不玩啦')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-3 21:14:09 | 显示全部楼层
本帖最后由 sunrise085 于 2020-8-3 21:18 编辑

加粗部分是一个逻辑表达式,不会触发异常啊
你可以直接写
try:
    guess = int(temp)
except……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 21:14:16 | 显示全部楼层
本帖最后由 baige 于 2020-8-3 21:19 编辑

py好难
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 21:15:53 | 显示全部楼层
应该用 if-else 不是 try-except
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-3 21:17:20 | 显示全部楼层    本楼为最佳答案   

你应该是想达到这种效果,这样当你输入不是整数时候就会触发 except

而你之前的只是个逻辑判断,不会导致触发异常的:
import random

secret = random.randint(1, 10)
print('我爱鱼C工作室')
temp = input('不妨猜一下小甲鱼现在心里想的是哪个数字:')
try:
    guess = int(temp)
except ValueError:
    print('输入异常')
    guess = secret

while guess != secret:
    temp = input('哎呀,猜错啦,请重新输入吧:')
    guess = int(temp)

    if guess == secret:
        print('卧槽,你是小甲鱼心里的蛔虫吗?')
        print('哼,猜中了也没有奖励')

    else:
        if guess > secret:
            print('哥,大了大了')
        else:
            print('嘿,小了小了')
print('游戏结束,不玩啦')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-3 21:52:27 | 显示全部楼层
sunrise085 发表于 2020-8-3 21:14
加粗部分是一个逻辑表达式,不会触发异常啊
你可以直接写

明白了,这样做没办法触发异常,感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 14:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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