Язык программирования

633 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
📄
Шаг 3: Бланки ЕГЭ
Просто
Сегодня в комиссию пришёл абитуриент Костя. Он принёс распечатку с десяти разных сайтов с результатами ЕГЭ, потому что «не понял, какому верить». Среди этой пачки бумаг нужно отыскать номера бланков ЕГЭ — и проверить, что они валидные. Костя нервничает. Костя смотрит на тебя. Костя верит.
Условие задачи
 

Номер бланка ЕГЭ имеет формат: ровно 4 цифры, дефис, ровно 7 цифр. Например, 0123-4567890.

Входные данные

Одна строка текста.

Выходные данные

Все найденные валидные номера бланков, по одному на строке.

Подсказка: Регулярка \b\d{4}-\d{7}\b. Границы \b важны — иначе номер 12345-67890123 тоже подойдёт частично, а это не наш случай.
📧
Шаг 2: Письма из ниоткуда
Просто
День второй. На почту приёмной комиссии завалилось 347 писем от абитуриентов. Кто-то пишет email в подписи, кто-то в теле письма, кто-то прямо в теме: «Если что, пишите на vasya.gamer@hse.ru, я там всегда онлайн». Твой начальник просит собрать все email в один список, потому что Excel у него снова завис. Печаль.
Условие задачи
 

Email считается валидным, если он состоит из:

  • имени из латинских букв, цифр и точек,
  • символа @,
  • домена из латинских букв, цифр и точек,
  • точки и доменного зона из 2–4 латинских букв (например, .ru, .edu, .com).
Входные данные

Одна строка произвольного текста.

Выходные данные

Все найденные email-адреса, по одному на строке, в порядке появления.

Подсказка: Шаблон: [a-zA-Z0-9.]+@[a-zA-Z0-9.]+\.[a-zA-Z]{2,4}. Не забудь экранировать точку перед доменной зоной: \..

Что не так с кодом df[df['A'] > 5 & df['B'] < 10]?

  1. всё в порядке, код работает
  2. надо писать and вместо &
  3. не хватает скобок вокруг каждого сравнения, будет ошибка
  4. надо писать | вместо &

В выражении (df['A'] > 5) & (df['B'] < 10) зачем нужны скобки вокруг каждого условия?

  1. для красоты, можно убрать
  2. оператор & имеет более высокий приоритет, чем сравнение, без скобок будет ошибка
  3. чтобы pandas понял русский язык
  4. чтобы код стал быстрее

Что делает df['col'].quantile(0.5)?

  1. берёт половину строк
  2. возвращает медиану столбца
  3. возвращает среднее, делённое на 2
  4. удаляет половину данных

Excel-формула =СУММЕСЛИ(B:B; "Европа"; C:C) на Python записывается как:

  1. df['C'].sum()
  2. df[df['B']=='Европа']['C'].sum()
  3. df.groupby('B').sum()
  4. df['B']=='Европа'.sum()

Как правильно отобрать страны из Европы ИЛИ Азии?

  1. df[(df['R']=='Европа') | (df['R']=='Азия')]
  2. df[df['R'] in ('Европа','Азия')]
  3. df['R'].europe_or_asia()
  4. df[df['R']=='Европа' or df['R']=='Азия']

Что вернёт выражение df[df['Region'] == 'ASIA'].shape[0]?

  1. пару чисел (строки, столбцы)
  2. количество строк (стран Азии)
  3. количество столбцов таблицы
  4. ошибку

На испытательном стенде расположена сетка из \(n\times m\) датчиков. В каждой ячейке — целое показание датчика. Вычислите:

  • максимумы по строкам \(r_i = \max_j a_{ij}\);

  • минимумы по столбцам \(c_j = \min_i a_{ij}\).

Формат ввода

Первая строка: \(n\) и \(m\) (\(1\le n,m\le 500\)). Следующие \(n\) строк по \(m\) целых чисел.

Формат вывода

Строка 1: \(n\) чисел — максимумы по строкам. Строка 2: \(m\) чисел — минимумы по столбцам.

Пример ввода:

3 3
5 12 8
3 7 15
10 6 4

Пример вывода:

12 15 10
3 6 4

Подсказка. np.max(axis=1) и np.min(axis=0).

Выполните Z-нормализацию (стандартизацию) массива: \(z_i = \frac{a_i - \bar{a}}{\sigma},\)  где \(\bar{a}\) — среднее, \(\sigma\) — стандартное отклонение (ddof=0). После стандартизации среднее \(\approx 0\), стандартное отклонение \(\approx 1\).

Формат ввода

Первая строка — \(n\) (\(2\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел. Гарантируется \(\sigma>0\).

Формат вывода

Одна строка — \(n\) чисел, каждое округлено до 4 знаков, через пробел.

Пример ввода:

5
10.0 20.0 30.0 40.0 50.0

Пример вывода:

-1.4142 -0.7071 0.0000 0.7071 1.4142

Подсказка. np.mean(), np.std() и поэлементные операции NumPy.

В физической лаборатории проведена серия измерений ускорения свободного падения \(g\) (м/с\(^2\)). Дан массив из \(n\) вещественных чисел. С помощью NumPy вычислите пять характеристик.

Формат ввода

Первая строка — \(n\) (\(1\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел через пробел.

Формат вывода

Пять строк (значение округлено до 4 знаков после запятой):

  • count — количество элементов \(n\);

  • sum — сумма: \(S=\sum a_i\);

  • mean — среднее: \(\bar{a}=S/n\);

  • range — размах: \(\max(a)-\min(a)\);

  • variance — дисперсия: \(D=\frac{1}{n}\sum(a_i-\bar{a})^2\).

Пример ввода:

5
9.78 9.82 9.81 9.79 9.80

Пример вывода:

count: 5
sum: 49.0000
mean: 9.8000
range: 0.0400
variance: 0.0002
Поделиться
Класснуть