learnpythonthehardway.org_Python2,检查字符串是否只包含数字,与x.isdigit()混淆

但是,当我试图在下面的代码中使用它时,当我输入任何数字和非数字的混合时,我的程序会崩溃,并出现“invalid literal for int()with base 10”错误,例如“fsd7sfd”或类似的错误。(代码可以很好地处理纯数字字符串或纯字母字符串。)

我不明白这是怎么发生的,因为据我所知,“how\u much=int(choice)”的赋值永远不会发生,除非字符串的第一个位置只包含数字选择.isdigit()是真的。在

有人能帮我理解我缺少什么吗?在

顺便说一句,“print”test“”行似乎在出错之前也没有得到处理,这增加了我的困惑。在

错误:This room is full of gold. How much do you take?

> sdfgsd8sd

Traceback (most recent call last):

File "ex35.py", line 79, in

start()

File "ex35.py", line 71, in start

bear_room()

File "ex35.py", line 36, in bear_room

gold_room()

File "ex35.py", line 9, in gold_room

how_much = int(choice)

ValueError: invalid literal for int() with base 10: 'sdfgsd8sd'

代码:

^{pr2}$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值