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

1 719 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Дубликаты - одинаковые строки в данных, которые могут исказить анализ.

Основные методы

df.duplicated() - находит дубликаты (возвращает True/False)
df.drop_duplicates() - удаляет дубликаты
df.nunique() - количество уникальных значений
Параметры drop_duplicates()
subset - столбцы для проверки дубликатов
keep - какую копию оставить ('first', 'last', False)
ignore_index -  пересоздает аккуратный последовательный индекс (0, 1, 2, 3, 4...).
Пример
df_clean = df.drop_duplicates()  # Удалить полные дубликаты
df_partial = df.drop_duplicates(subset=['name'])  # По имени
df_last = df.drop_duplicates(keep='last')  # Оставить последний

Задание

1) Посчитайте количество полных дубликатов в прикрепленном датасете (программа должна вывести целое число)
2) Удалите все полные дубликаты и выведите размер получившегося датасета.

Обработка пропусков

df.dropna() - удаляет строки с пропусками
df.fillna(value, inplace=True) - заполняет пропуски значением value
df.fillna(df.mean(), inplace=True) - заполняет средним значением

Параметр inplace:
inplace=False (по умолчанию) - создает копию с изменениями
inplace=True- изменяет исходный DataFrame напрямую

Метод fillna() с словарем позволяет заполнить пропуски в разных столбцах различными значениями за одну операцию. Синтаксис:
df.fillna({'column1': value1, 'column2': value2, ...})
Пример
 
df = ...
# Заполнение разными значениями
fill_dict = {
    'age': df['age'].mean(),      # Средним значением
    'salary': df['salary'].median(), # Медианой
    'city': 'Unknown'             # Константой
}

df_filled = df.fillna(fill_dict)
print(df_filled)
 

Задание

Проанализируйте датасет супергероев, считав его из прикрепленного файла
Напишите программу, который ищет и обрабатывает пропуски. 

  1. Заполните пропуски в power и intelligence средними значениями
  2. Заполните пропуски в costume_cost медианным значением 
  3. Заполните пропуски в first_appearance значением 1950 
  4. Для текстовых полей (name, alias, universe) заполните пропуски строкой Unknown
Выведите обработанный датасет на экран, используя print(df)

Пропущенные значения (NaN, None, NULL) - одна из главных проблем при анализе данных.

Поиск пропусков

df.isnull() - находит пропуски
df.isnull().sum() - считает пропуски по столбцам

 

Задание

Проанализируйте датасет супергероев, считав его из прикрепленного файла
Напишите программу, который ищет пропуски. Выведите

  1. В первой строке - количество пропусков в каждом столбце (семь целых чисел через пробел)
  2. Во второй строке - процент пропущенных значений (отбросив дробную часть) для каждого столбца  (семь целых чисел через пробел)
Числа должны быть в порядке перечисления столбцов в датасете.

Пример вывода (пример дан для понимания формата вывода):
1 2 3 2 1 1 4
10 20 30 20 10 10 40

Промахом считается выстрел с расстоянием больше 10.0. Определите, у какого игрока был самый худший одиночный выстрел (максимальное значение в массиве)? А сколько всего фатальных промахов совершила вся команда?

Тренеры заметили, что некоторые игроки сильно «разогреваются» к концу сессии. Проверьте гипотезу: сравните среднюю точность каждого игрока по первым пяти выстрелам и по последним пяти. У кого разница в пользу последних выстрелов наибольшая? (Значит, он "разыгрывается").
Точность — это хорошо, но стабильность — лучше! Найдите игрока с самой маленькой дисперсией или стандартным отклонением результатов. Это значит, что он стабильно стреляет примерно с одинаковой точностью.
Найдите сумму всех целых чисел, расположенных между двумя целыми числами a и b (включая a и b).

Формат входных данных
В первой строке записано целое число a, во второй - целое число b (-1000 <= a, b <= 1000).

Формат выходных данных
Выведите искомую сумму.
⏰ Починка машины времени:
[███████████░░░░░░░░░] 57% - Модуль 4 из 7 восстановлен
✅ Анализатор временных петель: ФУНКЦИОНИРУЕТ

Машина должна создавать порталы в каждые n лет, начиная с 2000 года. Запрограммируйте машину, напишите программу, которая по введенному Хроносом числу будет создавать порталы в соответствующие годы, начиная с 2000 года.

Формат входных данных
Ваша программа в первой строке получит натуральное число - шаг времени, во второй строке - количество порталов, которые необходимо сгенерировать.

Формат выходных данных
Программа должна выводить на экран созданные порталы  и года, в которые они ведут по формату: Портал номер: год

Вы - инженер в центре управления космическими полётами.


Ваша задача - написать программу для обратного отсчёта перед запуском ракеты, но с важной особенностью:

  • Основной отсчёт идёт от 10 до 0 (включительно)
  • На каждой секунде нужно проверять работу систем и выводит следующую информацию:
    • на 5-й секунде выводит фразу:  5 ... Проверка двигателей... ОК!
    • на 2-й секунде выводит фразу:  2 ... Проверка связи... ОК!
    • на любой другой секунде вывести: номер_секунды ...
  • После окончания отсчета вывести особое сообщение о старте: ПУСК! ПОЕХАЛИ!

Формат входных данных
Программа ничего не запрашивает с клавиатуры.

Формат выходных данных
см. пример
Финальное задание!
Напиши программу для безопасной посадки:
Запроси:
  1. скорость снижения (целое число)
  2. расстояние до поверхности (целое число)

Выведи:
  • Если скорость больше 10 И расстояние меньше 100 - выведи "Включить тормозные двигатели!"
  • Если скорость не больше 10 И расстояние меньше 50, но больше 0 - выведи "Приготовиться к посадке"
  • Если расстояние равно 0 - выведи "Посадка завершена! Добро пожаловать на Марс!"
  • Во всех остальных случаях выведи "Продолжаем снижение"
Музыкальный урок длится n минут. Сколько это полных часов и минут? Выведите ответ в формате: часов:минут.

Формат входных данных
Программа получает с клавиатуры количество минут n - целое положительное число. 

Формат выходных данных
Программа должна вывести строку в формате часы:минуты

Напишите программу, которая выводит таблицу умножения для числа n (целое число, вводится с клавиатуры) на числа от 1 до 4 (включительно).

Знак умножения ставится строчной английской буквой x. Обратите внимание, что знаки x, = отделяются с двух сторон одним пробелом.

Мы не только можем спросить пользователя, сколько раз выполнить команды, но и можем спросить, что именно будет показывать программа — текст, числа или даже смайлики! 
 


Напиши программу, которая будет как попугай 🦜 - повторять любое слово или фразу столько раз, сколько скажешь!

  1. Сначала программа спросит сколько раз повторить

  2. Потом что именно повторять

  3. И будет послушно выводить это нужное количество раз

 

Формат входных данных
Программа в первой строке вводит одно натуральное число \(n\) — количество раз, которое необходимо вывести строку.
Во второй строке - строку, которую необходимо вывести \(n\) раз.
 

Формат выходных данных
Выведите на экран заданную строку \(n\) раз, каждую на отдельной строке.

✓ 878✗ 1 539100лёгкаяВойти и решать

Мы можем дать пользователю самому решать, сколько раз выполнить цикл. Это сделает программу более гибкой — она будет повторять действия ровно столько, сколько нужно! 
 


Напишите программу, которая запрашивает у пользователя сколько раз необходимо вывести строку "Hello, World!" и затем выводит эту строку заданное количество раз.
 

Формат входных данных
Программа должна запросить ввод натурального числа \(n\) — количество раз, которое необходимо вывести строку.
 

Формат выходных данных
Программа должна вывести на экран строку "Hello, World!" \(n\) раз, каждую на новой строке.

Напишите программу, которая выводит любое ASCII-изображение. Главное условие, ваше изображение должно содержать специальные символы (кавычки или апострофы, бек-слеш (\)). Общее количество специальных символов должно быть не менее 5. Количество строк не менее пяти. 

Ваша программа будет автоматически проверена на соблюдение условий. Окончательную оценку за задачу вам поставит учитель (если вы занимаетесь с учителем). 

Напишите программу на Python, которая:

  1. Считывает математическое выражение из строки.

  2. Преобразует строку в символьное выражение с помощью SymPy.

  3. Вычисляет численное значение выражения для заданных значений переменных.

  4. Выводит результат.

Поделиться
Класснуть