首页 新闻 会员 周边 捐助

#Python小白#怎么在用户每次输入不是数字时都捕获TypeError异常?

0
悬赏园豆:10 [已解决问题] 解决于 2019-07-03 16:21

题目:加法运算加法运算:提示用户提供数值输入时,常出现的一个问题是,用户提供的是文本而不是数字。在这种情况下,当你尝试将输入转换为整数时,将引发TypeError异常。编写一个程序,提示用户输入两个数字,再将它们相加并打印结果。在用户输入的任何一个值不是数字时都捕获TypeError异常,并打印一条友好的错误消息。对你编写的程序进行测试:先输入两个数字,再输入一些文本而不是数字

柠檬🍋布里茨的主页 柠檬🍋布里茨 | 初学一级 | 园豆:145
提问于:2019-07-03 09:58
< >
分享
最佳答案
1

廖雪峰的Python教程可以帮到你

收获园豆:10
会长 | 专家六级 |园豆:12463 | 2019-07-03 10:39

谢谢大佬,看了下他的报错教程里面没有关于TypeError的

柠檬🍋布里茨 | 园豆:145 (初学一级) | 2019-07-03 10:53

会长原来一直都在

Feanmy | 园豆:200 (初学一级) | 2019-07-03 10:57

@柠檬🍋布里茨: TypeError和其他的Error都是一个套路

会长 | 园豆:12463 (专家六级) | 2019-07-03 11:01

@Feanmy: 默默地注视着你们

会长 | 园豆:12463 (专家六级) | 2019-07-03 11:01

@会长: 我知道是一个套路,但是我就想把这个TypeError整出来0.0

柠檬🍋布里茨 | 园豆:145 (初学一级) | 2019-07-03 11:05

@柠檬🍋布里茨: 我刚才试了下:

def add(x, y):
    xx = 0
    yy = 0
    try:
        xx = float(x)
        yy = float(y)
    except ValueError:
        print('fuck only numbers')
    except Exception as e:
        print('error:', e)
    else:
        return xx + yy

if __name__ == "__main__":
    fuck = add(1,2)
    me = add(1.1, 2.2)
    please = add('fuck', 'me')

类型转换错误抛出的是ValueError,不是TypeError,是不是你们老师搞错了

会长 | 园豆:12463 (专家六级) | 2019-07-03 11:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册