רשימה לפי קורס
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Python של Coddy. שיעור 44 מתוך 78.
אתגר
קלהשאר את כל מה שכתבת בשלבים הקודמים של הפרויקט הזה: כל הקובץ מורץ, ולכן student_records ו־add_student עדיין חייבים להיות שם.
צור פונקציה בשם list_students_by_course שמקבלת ארגומנט אחד: course (מחרוזת). הפונקציה צריכה:
- לעבור על המילון
student_recordsולמצוא את כל התלמידים הרשומים לקורס שצויןcourse. - להחזיר רשימה של שמות התלמידים הרשומים לקורס.
- אם אין תלמידים הרשומים לקורס, להחזיר רשימה ריקה.
הוסף (והחלף) את בלוק הקוד הבא בתחתית הקוד שלך:
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נסו בעצמכם
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כל השיעורים ביחידה לוגיקה וזרימת תוכנית
4יישום ספר אנשי קשר
הצגת התפריטהוספת איש קשר7קבוצות חלק 2
פעולות מתמטיות חלק 1פעולות מתמטיות חלק 2סיכום – חיפוש אוצרתת־קבוצות וקבוצות־עלמעבר על קבוצותסיכום – מעקב אחר טורניר8מנהל רישומי תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר Python אונליין