Menu
CoddyTech

Nach Kurs auflisten

Teil des Abschnitts Logik und Ablaufsteuerung der Python-Journey von Coddy. Lektion 44 von 78.

challenge icon

Aufgabe

Einfach

Behalte alles bei, was du in den vorherigen Schritten dieses Projekts geschrieben hast: Die gesamte Datei wird ausgeführt, daher müssen student_records und add_student weiterhin vorhanden sein.

Erstelle eine Funktion namens list_students_by_course, die ein Argument entgegennimmt: course (Zeichenkette). Die Funktion soll:

  1. Das student_records-Wörterbuch durchlaufen und alle Studierenden finden, die im angegebenen course eingeschrieben sind.
  2. Eine Liste mit den Namen der Studierenden zurückgeben, die im Kurs eingeschrieben sind.
  3. Wenn keine Studierenden im Kurs eingeschrieben sind, eine leere Liste zurückgeben.

Füge den folgenden Codeblock am Ende deines Codes hinzu (ersetze den vorhandenen):

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 Logik und Ablaufsteuerung

Übe selbstständig: Online-Python-Compiler