Python CODECADEMY avg=get\u class\u average(学生),我想了解这一点,有人能给我解释一下吗?

Python CODECADEMY avg=get\u class\u average(学生),我想了解这一点,有人能给我解释一下吗?,python,python-3.x,Python,Python 3.x,在python中,函数是python中的第一类对象。avg=function\u name(args)正在将function\u name(args)的输出存储到变量avg中。但是,还有。。。唉,这就是我想弄明白的 此代码基本上会找到每个学生的平均分数,然后在平均分数中找到平均分数: lloyd = { "name": "Lloyd", "homework": [90.0, 97.0, 75.0, 92.0], "quizzes": [88.0, 40.0, 94.0], "te

在python中,函数是python中的第一类对象。
avg=function\u name(args)
正在将
function\u name(args)
的输出存储到变量
avg
中。但是,还有。。。唉,这就是我想弄明白的

此代码基本上会找到每个学生的平均分数,然后在平均分数中找到平均分数:

lloyd = {
  "name": "Lloyd",
  "homework": [90.0, 97.0, 75.0, 92.0],
  "quizzes": [88.0, 40.0, 94.0],
  "tests": [75.0, 90.0]
}
alice = {
  "name": "Alice",
  "homework": [100.0, 92.0, 98.0, 100.0],
  "quizzes": [82.0, 83.0, 91.0],
  "tests": [89.0, 97.0]
}
 tyler = {
  "name": "Tyler",
  "homework": [0.0, 87.0, 75.0, 22.0],
  "quizzes": [0.0, 75.0, 78.0],
  "tests": [100.0, 100.0]
 }

# Add your function below!
def average(numbers):
  total = sum(numbers)
  total = float(total)
  return total/len(numbers)

def get_average(student):
  homework = average(student["homework"])
  quizzes = average(student["quizzes"])
  tests = average(student["tests"])
  return 0.1 * homework + 0.3 * quizzes + 0.6 * tests

def get_letter_grade(score):
  if score >= 90:
    return "A"
  elif score >=80:
    return "B"
  elif score >=70:
    return "C"
  elif score >=60:
    return "D"
  else:
    return "F"

def get_class_average(class_list):
  results = []
  for student in class_list:
    student_avg = get_average(student)
    results.append(student_avg)
    return average(results)


students = [lloyd, alice, tyler]

avg = get_class_average(students)
print(avg)

嗨,文森特。根本不清楚你在问什么。仅仅转储一堆代码并“有人能解释一下”对于堆栈溢出来说不是一个有效的问题。你需要具体说明你脑子里想的那一行到底是什么让你困惑。你理解任务陈述吗?你理解函数调用吗?您能否将问题简化为一组小得多的代码,这些代码仍能显示您所困惑的内容,而没有许多您确实理解的额外内容?在快速目视检查之后,这看起来就像一段工作代码。你是在要求解释它是如何工作的吗?你应该更具体地说明你不理解的部分。这是非常基本的代码。函数的第一类性质和装饰器的概念都与这个问题无关。
lloyd = {
  "name": "Lloyd",
  "homework": [90.0, 97.0, 75.0, 92.0],
  "quizzes": [88.0, 40.0, 94.0],
  "tests": [75.0, 90.0]
}
alice = {
  "name": "Alice",
  "homework": [100.0, 92.0, 98.0, 100.0],
  "quizzes": [82.0, 83.0, 91.0],
  "tests": [89.0, 97.0]
}
tyler = {
  "name": "Tyler",
  "homework": [0.0, 87.0, 75.0, 22.0],
  "quizzes": [0.0, 75.0, 78.0],
  "tests": [100.0, 100.0]
 }

def average(numbers): 
  total = sum(numbers) # Returns the sum of all in numbers in numbers
  total = float(total) # Convert integer to float
  return total/len(numbers) # Returns the average of the list

def get_average(student):
  homework = average(student["homework"]) # Student's average homework score
  quizzes = average(student["quizzes"]) # Student's average quiz score
  tests = average(student["tests"]) # Student's average test score
  return 0.1 * homework + 0.3 * quizzes + 0.6 * tests # Average score (10% homework, 30% quiz, 60% test)

def get_letter_grade(score): # returns appropriate letter for particular score
  if score >= 90:
    return "A"
  elif score >=80:
    return "B"
  elif score >=70:
    return "C"
  elif score >=60:
    return "D"
  else:
    return "F"

def get_class_average(class_list):
  results = []
  for student in class_list:
    student_avg = get_average(student) # Returns the student's average score
    results.append(student_avg) # Add to results list
    return average(results) # Return the average score among all the students


students = [lloyd, alice, tyler]

avg = get_class_average(students)
print(avg)