zoukankan      html  css  js  c++  java
  • 7-9 jmu-python-异常-学生成绩处理专业版 (25 分)

    小明在帮助老师统计成绩,老师给他的是一组数据。数据的第1行代表学生数n,后面
    的n行代表每个学生的成绩。成绩是整数类型。小明编写了一个程序,该程序可以批量
    处理数据,统计所有学生的平均分。当数据没有任何错误时,提示'All OK',当数据有
    一些错误(某行是浮点数、某行是非整数字符)时,可以提示哪些数据出错,并最后提示
    第几行出错,出错的原因,共出错多少行。对于另一些小错误,如某行虽然是整数,但
    是左右有多余的空格,可以将空格去除掉进行正常统计。

    在最后输出:
    共处理多少行数据,几行正确,几行错误,平均成绩(保留两位小数)。

    进阶要求:
    有可能碰到要求输入n行,后面的数据却小于n行。要求处理这种情况。碰到这种情况。
    输出end of files,并统计现有行数。见样例3

    输入格式:

    第1行为n
    接下来输入<=n行数据进行测试

    输出格式:

    见样例输出。输出错误原因的时候,需要将整行输出(如果该行有左右空格,需要将左右空格也输出)

    输入样例1:

    3
    1
        2    
    3
    

    输出样例1:

    Total: 3
    OK: 3
    Error: 0
    avg grade = 2.00
    

    输入样例2:

    5
    1
      2
       a  
      b  5
    3
    

    输出样例2:

    line 3 error for input "   a  "
    line 4 error for input "  b  5"
    Total: 5
    OK: 3
    Error: 2
    avg grade = 2.00
    

    输入样例3:

    5
     a
     2    
    3
    

    输出样例3:

    line 1 error for input " a"
    end of files
    Total: 3
    OK: 2
    Error: 1
    avg grade = 2.50
    

    提示:对于样例3,如果是在IDLE中进行测试,可在输入最后一行并回车后,按'Ctrl+D'结束输入。

    n=int(input())
    sum=0
    flag=0
    temp=n
    count=0
    count1=0
    l=[]
    while True:
        try:
            l.append(input())
        except:
            break
    for i in range(len(l)):
        count+=1
        a=0
        a=l[i]
        try:
            a=int(a)
            sum=sum+a
            count1+=1
        except:
            print('line {} error for input "{}"'.format(count,a))
            flag+=1
    #if flag==0:
        #print("All OK")
    if count<n:
        print("end of files")
    print("Total: {}".format(len(l)))
    print("OK: {}".format(count1))
    print("Error: {}".format(flag))
    print("avg grade = {:.2f}".format(sum/count1))
    

      

  • 相关阅读:
    BZOJ 3668: [Noi2014]起床困难综合症【贪心】
    浅谈错排公式的推导及应用
    Python爬虫笔记(一):爬虫基本入门
    机器理解大数据秘密:聚类算法深度剖析
    想了解概率图模型?你要先理解图论的基本定义与形式
    MATLAB命令大全+注释小结
    【批处理学习笔记】第二十九课:ASCII码
    【批处理学习笔记】第二十八课:声音和控制
    【批处理学习笔记】第二十七课:视窗
    【批处理学习笔记】第二十六课:返回值
  • 原文地址:https://www.cnblogs.com/aimilu/p/11818777.html
Copyright © 2011-2022 走看看