/
yern
/
AIS_practics
Обзор
Документация
Войти
/
yern
/
AIS_practics
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
labs_python/mygroup.py
78 строк
2 KB
eoershov
First lab
09 ноя 2025, 20:38
09 ноя 2025, 20:38
c9f6604
Код
Авторство
О чём код?
groupmates = [ { "name": "Александр", "surname": "Иванов", "exams": ["Информатика", "Электротехника", "Web"], "marks": [4, 3, 5] }, { "name": "Иван", "surname": "Петров", "exams": ["История", "Алгебра", "КТП"], "marks": [4, 4, 4] }, { "name": "Кирилл", "surname": "Смирнов", "exams": ["Философия", "Информационные системы", "КТП"], "marks": [5, 5, 5] }, { "name": "Мария", "surname": "Кузнецова", "exams": ["Экономика", "Право", "Маркетинг"], "marks": [3, 4, 5] }, { "name": "Елена", "surname": "Фролова", "exams": ["Социология", "Статистика", "Web"], "marks": [5, 4, 5] }, { "name": "Дмитрий", "surname": "Соколов", "exams": ["Информатика", "Физика", "Математика"], "marks": [2, 3, 4] } ] def print_students(students): print("Имя".ljust(15), "Фамилия".ljust(15), "Экзамены".ljust(50), "Оценки".ljust(20)) for student in students: print( student["name"].ljust(15), student["surname"].ljust(15), str(student["exams"]).ljust(50), str(student["marks"]).ljust(20) ) def filter_by_average(students, min_average): filtered = [] for student in students: marks = student.get("marks", []) if not marks: continue average = sum(marks) / len(marks) if average > min_average: filtered.append(student) return filtered def main(): print_students(groupmates) try: threshold = float(input("Введите минимальный средний балл: ")) except ValueError: print("Некорректный ввод") return filtered_students = filter_by_average(groupmates, threshold) if not filtered_students: print("Студенты с подходящим средним баллом не найдены") return print("Студенты с средним баллом выше", threshold) print_students(filtered_students) if __name__ == "__main__": main()