创建成绩簿应用程序

时间:2013-05-19 13:00:27

标签: python

有人可以告诉我编码有什么问题吗?我必须

  1. 在控制台上显示所有学生及其成绩。您的列表应包含一个标题,用于指定类名,节和评分权重。
  2. 计算所有学生的成绩,并在控制台上显示此信息以及学生的成绩(请注意学生成绩是加权的!)。
  3. 计算班级的平均成绩和班级的成绩等级
  4. 代码:

    f=open("greades.txt", "r")
    sum=0
    for line in f:
        #split data into rows
        items = line.split()
        sum=0
        #getting the data in rows 
        for i in range(1,9):
            sum+=int(items[i])
        print(items[0],"\tTotal:",sum,"\tAverage:",sum/9)
    
    
        def average(mygreades):
        """ Function to calculate the average of an input of the List that i have """
        if(len(mygreades)==0):
            return 0.0
        mygreades=[1]
        sum=0
        for item in mygreades:
            sum+=item
    
        avg = sum/len(mygreades)
        return avg
    
    def converter(mygreades):
        """ Function will convert an input list of strings to a number list """
        numberList = []
        for item in mygreades:
            if(item.isnumeric()):
                numberList.append(eval(item))
        return numberList
    
    
    main() 
    

1 个答案:

答案 0 :(得分:1)

您有缩进错误。请考虑以下代码行:

def average(mygreades):
""" Function to calculate the average of an input of the List that i have """
if(len(mygreades)==0):

请注意文档字符串和if语句是如何在def下完全排列的。这是不正确的缩进 - 函数的主体必须缩进。当你在这里做一个循环循环中的函数时,这也有点不寻常。