Вы находитесь на странице: 1из 2

ИПЗ-2020-2

Чепурко Максим Сергеевич


Лабораторная работа №3 Числа
Ч-1
Условие:

Имеется объект с данными по успеваемости абитуриентов. Объект представляет


собой список кортежей, где каждый кортеж имеет такую структуру:
ФИО, Оценка_по_математике, Оценка_по_физике, Оценка_по_литературе
Напишите программу, которая находит:
• абитуриента с лучшим средним баллом;
• абитуриента с худшим средним баллом;
• абитуриентов, средний балл которых выше некоторого заданного проходного балла.
Вывести ФИО этих абитуриентов в одну строку через запятую.

number_of_students = int(input('Введите количество студентов: '))


pass_grade = float(input("Введите проходной балл: "))
peoples = []
for i in range(number_of_students):
full_name = input("Введите ФИО студента: ")
grade_one = int(input('Введите оценку по математике: '))
grade_two = int(input('Введите оценку по физике: '))
grade_three = int(input('Введите оценку по литературе: '))
peoples.append(
(
full_name, grade_one, grade_two, grade_three
)
)
avg = [sum(students[1:]) for students in peoples]
avg_grade = [students / 3 for students in avg]
best_grade = max(avg_grade)
worst_grade = min(avg_grade)

print('Студент с лучшим средним баллом: ',


*peoples[avg_grade.index(best_grade)][:1], " Средний балл: ",
round(best_grade, 3))
print('Студент с худшим средним баллом: ',
*peoples[avg_grade.index(worst_grade)][:1], " Средний балл: ",
round(worst_grade, 3))
print("Студенты с проходным баллом:")

for i, x in enumerate(avg_grade):
if x > pass_grade:
print(*peoples[i][:1], round(x, 1), end="" + ", ")