Python_seminars
Домашние работы по Python
В данном репозитории собраны выполненные мной ДЗ с семинаров по теме: Знакомство с языком Python (семинары)
Урок 1. Знакомство с Python
-
Напишите программу, которая принимает на вход цифру, обозначающую день недели, и проверяет, является ли этот день выходным
-
(!!!Доп!!!) Напишите программу для проверки истинности утверждения ¬(X ⋁ Y ⋁ Z) = ¬X ⋀ ¬Y ⋀ ¬Z для всех значений предикат (0,0,0), (0,0,1) и тд.
-
Напишите программу, которая принимает на вход координаты точки (X и Y), причём X ≠ 0 и Y ≠ 0 и выдаёт номер четверти плоскости
Пример:
- x=34; y=-30 -> 4
- x=2; y=4-> 1
- x=-34; y=-30 -> 3
-
Напишите программу, которая по заданному номеру четверти, показывает диапазон возможных координат точек в этой четверти (x и y)
-
Напишите программу, которая принимает на вход координаты двух точек и находит расстояние между ними в 2D пространстве
Пример:
- A (3,6); B (2,1) -> 5,09
- A (7,-5); B (1,-1) -> 7,21
Урок 2. Знакомство с Python. Продолжение
- Напишите программу, которая принимает на вход число N и выдает набор произведений чисел от 1 до N
Пример:
пусть N = 4, тогда [ 1, 2, 6, 24 ] (1, 12, 123, 1234)
- Требуется найти наименьший натуральный делитель целого числа N, отличный от 1
Пример:
Для n = 15: Ответ: 3
Для n = 35: Ответ: 5
- Задайте список из (2*N+1) элементов, заполненных числами из промежутка [-N, N]. Найдите произведение элементов на указанных ИНДЕКСАХ. Пять ИНДЕКСОВ хранятся в списке, который вы сами заполняете
Пример списка ИНДЕКСОВ [2, 2, 3, 1, 8]
Ввод: 4
[-4, -3, -2, -1, 0, 1, 2, 3,4]
- Требуется посчитать сумму чётных чисел, расположенных между числами 1 и N включительно
Урок 3. Данные, функции и модули в Python
- Задайте список из нескольких чисел. Напишите программу, которая найдёт сумму элементов списка, стоящих на нечётной позиции
Пример:
- [2, 3, 5, 9, 3] -> на нечётных позициях элементы 3 и 9, ответ: 12
- Напишите программу, которая найдёт произведение пар чисел списка. Парой считаем первый и последний элемент, второй и предпоследний и т.д
Пример:
- [2, 3, 4, 5, 6] => [12, 15, 16];
- [2, 3, 5, 6] => [12, 15]
- Задайте список из вещественных чисел. Напишите программу, которая найдёт разницу между максимальным и минимальным значением дробной части элементов
Пример:
- [1.1, 1.2, 3.1, 5, 10.01] => 0.19
- Напишите программу, которая будет преобразовывать десятичное число в двоичное
Пример:
- 45 -> 101101
- 3 -> 11
- 2 -> 10
- Задайте число. Составьте список чисел Фибоначчи, в том числе для отрицательных индексов
Пример:
- для k = 8 список будет выглядеть так: [-21 ,13, -8, 5, −3, 2, −1, 1, 0, 1, 1, 2, 3, 5, 8, 13, 21] Негафибоначчи
Урок 4. Данные, функции и модули в Python. Продолжение
- Пользователь вводит число, Вам необходимо вывести число Пи с той точностью знаков после запятой, сколько указал пользователь(БЕЗ round())
- при
- Задайте натуральное число N. Напишите программу, которая составит список простых множителей числа N
24
2 2 2 3
- Задайте последовательность чисел. Напишите программу, которая выведет список неповторяющихся элементов исходной последовательности
Ввод: 1 2 3 2 4 4
Вывод: 1 3
- Задана натуральная степень k. Сформировать случайным образом список коэффициентов (значения от 0 до 100) многочлена и вывести многочлен степени k
Пример:
- k = 2 => 2x² + 4x + 5
- k = 3 => 41x^3 + 6x² + 2*x + 98
- Даны два файла, в каждом из которых находится запись многочлена. Задача - сформировать файл, содержащий сумму многочленов
Файл1: 2x² + 4x + 5
Файл2: 41x^3 + 6x² + 2*x + 98
Вывод Файл3: 41x^3 + 8x^2 + 6*x + 103
Урок 5. Ускоренная обработка данных: lambda, filter, map, zip, enumerate, list comprehension
- Создайте программу для игры с конфетами человек против бота. Условие задачи: На столе лежит 120 конфета. Играют два игрока делая ход друг после друга. Первый ход делает человек. За один ход можно забрать не более чем 28 конфет Победитель - тот, кто оставил на столе 0 конфет.
-
Создайте программу для игры в ""Крестики-нолики"" человек vs человек
-
Реализуйте RLE алгоритм: реализуйте модуль сжатия и восстановления данных
stroka = "aaabbbbccbbb"
....
stroka = "3a4b2c3b"
Восстановить
Ввёл: stroka = "3a4b2c3b"
Вывод: stroka = "aaabbbbccbbb"
Урок 6. Ускоренная обработка данных: lambda, filter, map, zip, enumerate, list comprehension. Продолжение
-
Вводится список целых чисел в одну строчку через пробел. Необходимо оставить в нем только двузначные числа. Реализовать программу с использованием функции filter. Результат отобразить на экране в виде последовательности оставшихся чисел в одну строчку через пробел
-
Дан список, вывести отдельно буквы и цифры, пользуясь filter
-
Напишите программу, которая принимает на вход вещественное число и показывает сумму его цифр
Пример:
- 6782 -> 23
- 0,56 -> 11
Урок 7. Python: от простого к практике
Создать телефонный справочник с возможностью импорта и экспорта данных в нескольких форматах
под форматами понимаем структуру файлов, например:в файле на одной строке хранится одна часть записи, пустая строка - разделитель
1.txt
Фамилия_1
Имя_1
Телефон_1
Описание_1
-----------
Фамилия_2
Имя_2
Телефон_2
Описание_2
и т.д.в файле на одной строке хранится все записи, символ разделитель - ""
2.txt
Фамилия_1,Имя_1,Телефон_1,Описание_1
Фамилия_2,Имя_2,Телефон_2,Описание_2
Урок 8. Python: от простого к практике. Продолжение
Создать информационную систему позволяющую работать c учениками школы
1 - учитель добавление ученика, добавление оценки за предмет ученику
2 - ученик Поиск по фамилии ученика
Урок 9. Возможна ли жизнь без PIP?
-
Напишите Бота, удаляющего из текста все слова, содержащие "абв". (Ввод от пользователя)
-
Создайте Бота для игры с конфетами человек против бота. (Дополнительно)
Урок 10. Возможна ли жизнь без PIP? Продолжение
Прикрутить бота к задачам с предыдущего семинара: Создать калькулятор для работы с рациональными, организовать меню, добавив в неё систему логирования(Содержит: id.Пользователь, ввод, результат)
Урок 11. Jupyter Notebook и несколько слов об аналитике
1)Прочесть с помощью pandas файл california_housing_test.csv
2)Посмотреть сколько в нем строк и столбцов
3)Определить какой тип данных имеют столбцы
4)Показать longitude где housing_median_age < 35
5)Показать столбцы longitude и latitude
6)Выбрать данные где total_rooms < 2000 и population > 1500
7)Определить какое максимальное и минимальное значение population
8)(Доп) Показать максимальное longitude, где median_income > 3
9)(Доп) Узнать какая максимальная total_bedrooms при минимальном значении households