0

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

  1. 在控制台上显示所有学生及其成绩。你的列表应该包括一个标题,指定班级名称、部分和评分权重。
  2. 计算所有学生的成绩,并将此信息与学生的字母成绩一起显示在控制台上(请注意学生成绩是加权的!)。
  3. 计算班级的平均成绩和班级的字母成绩

代码:

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() 
4

1 回答 1

1

你有一个缩进错误。考虑以下代码行:

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

注意 doc 字符串和if语句是如何在def. 那是不正确的缩进——函数的主体必须缩进。正如您在这里所做的那样,在循环定义一个函数也有些不寻常。

于 2013-05-19T13:52:44.503 回答