Время выполнения: 2 часа 40 минут. Выполненная работа загружается на Dropbox по ссылке, предложенной в письме преподавателем. Всего за экзамен можно получить 30 баллов. Чтобы получить оценку 4 из 10, нужно набрать не менее 12 баллов.
В строке say
сохранен некоторый текст.
Напишите код, который создает строку polite
с тем же текстом, но с добавлением точки и «пожалуйста!» в конце.
Пример:
Значение say
: "покажи мне тетрадь"
Значение polite
: "покажи мне тетрадь. пожалуйста!"
### YOUR CODE HERE ###
В машинном обучении существуют специальные меры, которые позволяют определить качество модели. Среди них — точность (precision) и полнота (recall) На основе этих двух значений можно посчитать ещё одну меру качества – определить их среднее арифметическое.
Напишите код, который запрашивает с клавиатуры значение precision, затем значение recall, вычисляет их среднее, округляет до двух знаков после запятой и выводит результат на экран.
Пример:
На входе:
Precision: 0.9
Recall: 0.85
На выходе:
Average: 0.88
### YOUR CODE HERE ###
При проверке, являются ли числовые данные сфальсифицированными, часто обращают внимание на количество чисел, которые делятся на 5 или 10 без остатка, так как считается, что люди склонны выдумывать именно такие числа. Дан список V
с процентами голосов за кандидата А на студенческих выборах:
V = [25, 56, 44, 50, 44, 47, 38, 45, 56]
a. (1 балл) Напишите код, который сохраняет в новый список strange
индексы элементов, которые делятся на 5 без остатка.
### YOUR CODE HERE ###
b. (1 балл) Напишите код, который выводит на экран процент значений в списке V
, которые делятся на 5 без остатка.
### YOUR CODE HERE ###
В словаре D
сохранены пары целых чисел таким образом, что первое число в паре является ключом, а второе – значением.
D = {2:3, 4:5, 5:7, 6:8, 9:0}
Напишите код, который выводит на экран разности пар целых чисел. Вид итоговой выдачи:
-1
-1
-2
-2
9
### YOUR CODE HERE ###
В списке stud
сохранены имена студентов, которых собираются отправить на конкурс. В словаре marks
сохранены оценки всех студентов в группе.
stud = ['Hanna', 'Ben', 'Rowan', 'Alice', 'David', 'Chris']
marks = {'Alice' : [4, 5, 5, 3, 5],
'Jane' : [3, 2, 4, 3, 4],
'Ben' : [5, 5, 4, 4, 5],
'Hanna' : [4, 5, 5, 5, 5],
'Sam' : [3, 2, 2, 3, 4],
'Rowan' : [5, 5, 5, 5, 5],
'Terry': [5, 4, 3, 3, 3],
'David' : [5, 4, 4, 4, 4],
'Chris' : [5, 3, 3, 3, 4],
'Fred' : [3, 3, 4, 4, 5]}
a. Напишите код, который сохраняет в новый список selected
кортежи с оценками тех студентов, которых собираются отправить на конкурс.
### YOUR CODE HERE ###
b. Напишите код, который сохраняет в новый список selected2
списки со средней и максимальной оценкой каждого студента, которого собираются отправить на конкурс. Использовать готовые функции Python для нахождения среднего и максимума разрешается.
### YOUR CODE HERE ###
Напишите функцию numbers()
, которая принимает на вход целое положительное число и возвращает сумму чисел от 1 до этого числа включительно.
Пример работы функции:
numbers(4)
10
### YOUR CODE HERE ###
Напишите функцию just_fun()
, которая запрашивает у пользователя информацию с клавиатуры (два значения через дефис) и в зависимости от того, что было введено, выводит на экран разные сообщения. Функция не должна ничего возвращать.
Правила:
На первом месте пользователь указывает город, где он сейчас находится; на втором месте — куда он хочет уехать.
Если пользователь находится в некотором городе и хочет уехать в него же, на экран выводится сообщение Молодец! Изолируйся.
, если место отправки и место назначения отличаются, выводится сообщение Хорошо подумай.
.
Пример 1:
Ввод: Москва-Москва
Вывод: Молодец! Изолируйся.
Пример 2:
Ввод: Москва-Любляна
Вывод: Хорошо подумай.
### YOUR CODE HERE ###
Решите задачу 7, но с дополнительным правилом:
Если пользователь ввел одно и то же слово, но в разных регистрах, ему выводится сообщение Молодец! Но следи за клавиатурой.
.
### YOUR CODE HERE ###
pandas
(15 баллов)¶В этом блоке вам предлагается поработать с данными из файла stars.csv
, который содержит характеристики звезд. Показатели в файле:
Temperature (K)
: температура звезды по Кельвину;Luminosity(L/Lo)
: светимость звезды в единицах светимости Солнца;Radius(R/Ro)
: радиус звезды по отношению к Солнцу;Absolute magnitude(Mv)
: абсолютная звездная величина;Star type
: тип звезды (0 — коричневый карлик, 1 — красный карлик,2 — белый карлик, 3 — звезда главной последовательности, 4 — супергигант, 5 — гипергигант);
Star color
: цвет звезды;Spectral Class
: спектральный класс звезды.Если в датафрейме есть строки с пропущенными значениями, удалять их не нужно.
Загрузите данные из файла stars.csv
в датафрейм stars
.
### YOUR CODE HERE ###
Выведите на экран описательные статистики по всем числовым столбцам в датафрейме stars
.
### YOUR CODE HERE ###
Добавьте в датафрейм столбец LogLum
, который содержит логарифмированные значения светимости звезды Luminosity(L/Lo)
(натуральный логарифм).
### YOUR CODE HERE ###
Добавьте в датафрейм столбец WhiteDwarf
, который содержит значения 0 и 1, считая, что 1 ставится в случае, если звезда является белым карликом.
### YOUR CODE HERE ###
Добавьте в датафрейм stars
столбец TempF
, который содержит значения температуры звезды по Фаренгейту. Для справки: 1 градус по Фаренгейту равен 255.93 градусам по Кельвину.
### YOUR CODE HERE ###
Добавьте в датафрейм stars
столбец Color
, который содержит следующие значения:
Red
: если в цвете звезды встречается слово Red (Red-white, например, тоже сюда относятся, и Red с пробелом тоже);Blue
: если в цвете звезды встречается слово Blue (та же ситуация, что и выше);Other
: иначе.### YOUR CODE HERE ###
Сохраните строки, соответствующие звездам с абсолютной звездной величиной (Absolute magnitude (Mv)
) меньше 0, в датафрейм low
.
### YOUR CODE HERE ###
Сохраните строки, соответствующие звездам спектрального класса O
или M
, в датафрейм stars_sm
.
### YOUR CODE HERE ###
Выберите строки, соответствующие звездам, которые являются супергигантами или гипергигантами с температурой не менее 9000 кельвинов. Сохраните их в датафрейм stars_new
.
### YOUR CODE HERE ###
Сгруппируйте строки по значениям столбца Color
и выведите для каждой группы минимальное и среднее значение радиуса звезды.
### YOUR CODE HERE ###
Сгруппируйте строки по значениям столбца Star type
и выведите для каждой группы число звезд в каждой группе, а также процент таких звезд от общего числа наблюдений в базе.
### YOUR CODE HERE ###
Постройте гистограмму для столбца Luminosity(L/Lo)
. Измените цвет гистограммы.
### YOUR CODE HERE ###
NumPy
(4 балла)¶Дан массив Test
с баллами студентов за тест.
Test = np.array([23, 34, 56, 54, 32, 70, 72, 65])
Выведите на экран массив с баллами ниже 30 или выше 50.
### YOUR CODE HERE ###
Получите новый массив Test_10
с оценками в 10-балльной шкале, если известно, что оценка считается как полученный студентом балл, поделенный на максимально набранный балл и умноженный на 10.
### YOUR CODE HERE ###
Напишите функцию get_hse()
, которая принимает на вход ссылку на страницу преподавателя на сайте ВШЭ, а возвращает список со следующей информацией:
Проверьте вашу функцию не менее чем на трёх страницах преподавателей, код с проверкой добавьте в текущий файл.
### YOUR CODE HERE ###