python菜鸟问题,猜数字游戏出现报错 5

写了个猜数字的小游戏目前问题,如果输入的不是数字比如,英文字母或空格或不输入时,会出现报错,请问应该怎么写... 写了个猜数字的小游戏目前问题,如果输入的不是数字比如,英文字母或空格或不输入时,会出现报错,请问应该怎么写 展开
 我来答
hy1397471
2019-05-07 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部

这个是典型的异常处理,try except

这样,有异常会重新要求输入,程序不会中断

cjjohn3
2019-05-07 · TA获得超过6644个赞
知道大有可为答主
回答量:3622
采纳率:69%
帮助的人:992万
展开全部
肯定的,因为你用int做了强制类型转换,如果输入的不是int类型就会报错,其实可以加个检测,如果输入不符合int类型自动忽略或者重新输入就好了
追问
如何加检测,能否告知下吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我配合的演出
2019-05-07 · TA获得超过192个赞
知道小有建树答主
回答量:150
采纳率:38%
帮助的人:50万
展开全部
def panduan():
    a = input('input:')
    for i in a:
        if ord(i) not in range(48, 58):
            print('不是数字')
            break
    else:
        b = int(a)
        print(b)


while True:
    panduan()

这种麻烦点,不过挺好玩的

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jayhou1986
2019-05-07 · TA获得超过1511个赞
知道小有建树答主
回答量:586
采纳率:81%
帮助的人:416万
展开全部
import random
answer = random.randint(1,100)
while True:
n = input('请输入1-100的数字:')
try:
n = int(n)
if n == answer:
break
else:
if n>answer:
print('数值过大')
else:
print('数值过小')
except:
pass
print('你赢了')

ps:我把你的答案变量名改成answer了,原谅我英文命名的强迫症

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式