问题

用户头像
来自上海海洋大学-吴菲雪发布于:2020-05-06 17:02:58

试编程完成以下功能:

用户输入若干个成绩(百分制),求所有成绩的平均分。

每输入一个分数后询问是否继续输入下一个分数,回答“y”或“Y”就‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬继续输入下一个分数(continue),

回答“n”或“N”就停止输入分数(break)。

如果成绩输入有误,要求输出“不是合法成绩”(通过异常处理)

点赞 (5) 回复
1F 用户头像
来自上海海洋大学-谢清怡发布于:2020-05-06 20:06:02

numbers = 0

i=0

while True:

    try:

         x = float(input('请输入一个成绩:'))

    except:

        print('不是合法成绩')

    else:

        numbers+=x

        i+=1   

        flag = input('请选择是否继续输入下一个分数,y或Y继续输入,输入其他退出:')

        if flag in ('y', 'Y'):

           continue

        else:

           break

print("平均成绩",numbers/i)

加载更多
点击图片
取消
回复
2F 用户头像
来自上海海洋大学-严春蕾发布于:2020-05-07 14:49:51

try:
    c=0
    s=0
    a=0
    b="Y"
    while b=="Y" or b=="y":
        a=eval(input("请输入成绩:"))
        s=s+1
        c=c+a
        b=input("是否输入下一个分数:")
        if b=="N" or b=="n":
            break
        else:
            continue
    d=c/s
    print("平均成绩为{:.2f}".format(d))
except:
    print("不是合法成绩")

加载更多
点击图片
取消
回复
3F 用户头像
来自上海海洋大学-杭思锦发布于:2020-05-07 19:11:25

n = 0
c = 0
while True:
    a =  input()
    try:
        a = int(a)
    except:
        print("不是合法成绩")
        b = input("是否继续输入下一个分数:")
        if b == "y" or b == "Y":
            continue
        else:
            break
    if a>= 0 and a<= 100:
        n = n+1
        c = c+a
        b = input("是否继续输入下一个分数:")
        if b == "y" or b == "Y":
            continue
        else:
            break
    else:
        print("不是合法成绩")
        b = input("是否继续输入下一个分数:")
        if b == "y" or b == "Y":
            continue
        else:
            break
s = c/n
print(s)

加载更多
点击图片
取消
回复
4F 用户头像
来自上海海洋大学-芮晗发布于:2020-05-07 21:36:54
numbers = 0 i=0 while True: try: x = float(input('请输入一个成绩:')) except: print('不是合法成绩') else: numbers+=x i+=1 flag = input('请选择是否继续输入下一个分数,y或Y继续输入,输入其他退出:') if flag in ('y', 'Y'): continue else: break print("平均成绩",numbers/i)
加载更多
点击图片
取消
回复
发布回复
点击图片