Menu
Coddy logo textTech

Nach Kurs auflisten

Teil des Abschnitts Logic & Flow der Python-Journey von Coddy — Lektion 44 von 78.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Funktion namens list_students_by_course, die ein Argument entgegennimmt: course (String). Die Funktion sollte:

  1. Das student_records Dictionary durchlaufen und alle Studenten finden, die für den angegebenen course eingeschrieben sind.
  2. Eine Liste mit den Namen der Studenten zurückgeben, die in dem Kurs eingeschrieben sind.
  3. Wenn keine Studenten in dem Kurs eingeschrieben sind, eine leere Liste zurückgeben.

Fügen Sie den folgenden Codeblock am Ende Ihres Codes hinzu (bzw. ersetzen Sie diesen):

add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Math", "Biology"])
add_student("Diana", 23, ["Chemistry", "Physics"])
print(list_students_by_course("Math"))  # Should return ["Alice", "Bob"]
print(list_students_by_course("Physics"))  # Should return ["Alice", "Diana"]
print(list_students_by_course("Biology"))  # Should return ["Bob"]
print(list_students_by_course("History"))  # Should return an empty list

Probier es selbst

student_records = {}

def add_student(name, age, courses):
    if name in student_records:
        print(f"Student '{name}' already exists.")
        return
    student_records[name] = {"age": age, "grades": set(), "courses": set(courses)}
    print(f"Student '{name}' added successfully.")

def add_grade(name, grade):
    if name not in student_records:
        print(f"Student '{name}' not found.")
        return
    student_records[name]["grades"].add(grade)
    print(f"Grade {grade} added for student '{name}'.")

def is_enrolled(name, course):
    if name not in student_records:
        print(f"Student '{name}' not found.")
        return False
    return course in student_records[name]["courses"]

def calculate_average_grade(name):
    if name not in student_records:
        print(f"Student '{name}' not found.")
        return None
    grades = student_records[name]["grades"]
    if not grades:
        return 0
    return sum(grades) / len(grades)


add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Biology", "Chemistry"])
add_grade("Alice", 90)
add_grade("Alice", 85)
add_grade("Bob", 75)
print(calculate_average_grade("Alice"))  # Should return 87.5
print(calculate_average_grade("Bob"))  # Should return 75.0
print(calculate_average_grade("Charlie"))  # Non-existent student, should print message and return None
print(calculate_average_grade("Alice"))  # Should return 87.5 again

Alle Lektionen in Logic & Flow