Семинары ведут: Щуров И.В., Будылин Р.Я., НИУ ВШЭ
Данный notebook является набором задач по курсу «Программирование на языке Python для сбора и анализа данных» (НИУ ВШЭ, 2014-15). Распространяется по лицензии CC BY-SA 4.0. На странице курса находятся другие материалы.
В связи с технической проблемой, решение задачи C не учитывалось при автоматической проверке ДЗ№6. Если вы сделали эту задачу, пожалуйста, сдайте её отдельно в виде этой микро-домашки. Как обычно, нужно скачать этот ноутбук, внести решение в соответствующее поле и сдать через систему приёма ДЗ.
Написать функцию get_first_student_grade(students)
, принимающую на вход список students
, каждый элемент которого является кортежем: первый элемент кортежа является именем студента, а второй его оценкой. Например: students = [('Bob', 3), ('Alice', 4)]
. Функция должна вернуть оценку студента, имя которого является первым при алфавитной сортировке. (В нашем случае должна вернуть число 4
.) Все студенты имеют разные имена.
Подсказка. См. подсказку к задаче B. Возможно, функции min()
удастся скормить кортежи? Попробуйте! Кстати, задача решается ровно в одну строчку (не считая def
). Использовать библиотеки нельзя.
# YOUR CODE HERE
from random import shuffle, seed
seed(0)
def shuffle_test(f, inp, outp, n=10):
for i in range(n):
shuffle(inp)
assert f(inp)==outp
def test(inp,outp, n=10):
return shuffle_test(get_first_student_grade, inp, outp)
test([('Bob', 3), ('Alice', 4)], 4)
test([('Zzz', 1)], 1)
test([('Haha', 2), ('Hoho', 3), ('Zzz', 4), ('aaaa', 5)], 2)
del shuffle, seed, shuffle_test, test