平均成绩计算异常处理

求解求解,如何编写b的正常信息是在0-100之间,否则输入信息异常,然后运用try-except语句来编写这里。

img

img

img

给个简单的例子,你参考一下:

lst = []
while True:
    try:
        score = int(input("请输入一个成绩(0-100):"))
        if score<0 or score>100:
            print("不是合法成绩!")
        else:
            lst.append(score)
    except:
        print("输入的格式有误!请重新输入!")
    y = input("是否继续输入(y/n):")
    if y=='n' or y=='N':
        break
if len(lst)>0:
    print(f'输入所有成绩平均成绩是:{sum(lst)/len(lst)}')

img


如有帮助,请采纳!




a = []
while True:
    try:
        print("请输入分数:")
        b = int(input().strip())
        if b < 0 or b > 100:
            raise
        a.append(b)
        
        is_break = False
        while True:
            print("是否继续输入分数(Y/N y/n)?");
            is_continue = input().strip()
            if is_continue in ['Y', 'y']:
                break
            elif is_continue in ['N', 'n']:
                is_break = True
                break;
            else:
                print("非法输入")
        if is_break:
            break
    except:
        print("不是合法成绩")

print(f'平均成绩{sum(a)/len(a)}')