第7章2 实战

实战一 输入成绩如果不正确手动抛出异常 p87

try:
    score=int(input('请输入分数:')) # 教程的解法在此处有用例会出错,比如输入'a',此处的异常不能被下面定义的异常捕获到
    if 0<=score<=100:
        print('分数为:{0}'.format(score))
    else:
        raise Exception('分数不正确')
except Exception as e:
    print(e)


# 我的代码
import re
patterns='(1-9){1}[0-9]*'
try:
    score=input('请输入分数:')
    if score.isnumeric()==False or len(score)>3 or re.match(patterns,score)==None or int(score)<0 or int(score)>100:
        raise Exception('分数不正确')
    else:
        print('分数为:{0}'.format(score))
except Exception as e:
    print(e)

实战二 判断是否构成三角形 p88

try:
    a=eval(input('请输入第一条边:'))
    b=eval(input('请输入第二条边:'))
    c=eval(input('请输入第三条边:'))
    if a+b>c and a+c>b and b+c>a:
        print('{0},{1},{2}可以构成三角形'.format(a,b,c))
    else:
        raise Exception(f'{a},{b},{c}不能构成三角形')
except Exception as e:
    print(e)

你可能感兴趣的:(python,python,前端,开发语言)