DispenserBro / gb_py_hw

Домашние задания GeekBrains по Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Домашние работы по Python

В данном репозитории собраны выполненные мной ДЗ с семинаров GeekBrains по языку Python

Все выполненные ДЗ лежат в директориях с названиями

hw_<номер_занятия>

Код заданий находится в файле

task_<номер_задания_п/п>.py

Цели на репозиторий:

✔️ Выполнить все ДЗ со всех семинаров

  • Выполнить ДЗ с первого семинара
  • Выполнить ДЗ со второго семинара
  • Выполнить ДЗ с третьего семинара
  • Выполнить ДЗ с четвертого семинара
  • Выполнить ДЗ с пятого семинара
  • Выполнить ДЗ с шестого семинара
  • Выполнить ДЗ с седьмого семинара
  • Выполнить ДЗ с восьмого семинара
  • Выполнить ДЗ с девятого семинара
  • Выполнить ДЗ с десятого семинара
  • Выполнить ДЗ с одиннадцатого семинара

Ниже указаны ДЗ по семинарам с заданиями:

Семинар 1

  1. Напишите программу, которая принимает на вход цифру, обозначающую день недели, и проверяет, является ли этот день выходным

  2. (!!!Доп!!!) Напишите программу для проверки истинности утверждения ¬(X ⋁ Y ⋁ Z) = ¬X ⋀ ¬Y ⋀ ¬Z для всех значений предикат

  3. Напишите программу, которая принимает на вход координаты точки (X и Y), причём X ≠ 0 и Y ≠ 0 и выдаёт номер четверти плоскости

  4. Напишите программу, которая по заданному номеру четверти, показывает диапазон возможных координат точек в этой четверти (x и y)

  5. Напишите программу, которая принимает на вход координаты двух точек и находит расстояние между ними в 2D пространстве

Семинар 2

  1. Напишите программу, которая принимает на вход число N и выдает набор произведений чисел от 1 до N

  2. Требуется найти наименьший натуральный делитель целого числа N, отличный от 1

  3. Задайте список из (2*N+1) элементов, заполненных числами из промежутка [-N, N]. Найдите произведение элементов на указанных ИНДЕКСАХ. Пять ИНДЕКСОВ хранятся в списке, который вы сами заполняете

  4. Требуется посчитать сумму чётных чисел, расположенных между числами 1 и N включительно

Семинар 3

  1. Задайте список из нескольких чисел. Напишите программу, которая найдёт сумму элементов списка, стоящих на нечётной позиции

  2. Напишите программу, которая найдёт произведение пар чисел списка. Парой считаем первый и последний элемент, второй и предпоследний и т.д

  3. Задайте список из вещественных чисел. Напишите программу, которая найдёт разницу между максимальным и минимальным значением дробной части элементов

  4. Напишите программу, которая будет преобразовывать десятичное число в двоичное

  5. Задайте число. Составьте список чисел Фибоначчи, в том числе для отрицательных индексов

Семинар 4

  1. Пользователь вводит число, Вам необходимо вывести число Пи с той точностью знаков после запятой, сколько указал пользователь(БЕЗ round())

  2. Задайте натуральное число N. Напишите программу, которая составит список простых множителей числа N

  3. Задайте последовательность чисел. Напишите программу, которая выведет список неповторяющихся элементов исходной последовательности

  4. Задана натуральная степень k. Сформировать случайным образом список коэффициентов (значения от 0 до 100) многочлена и вывести многочлен степени k

  5. Даны два файла, в каждом из которых находится запись многочлена. Задача - сформировать файл, содержащий сумму многочленов

Семинар 5

  1. Создайте программу для игры с конфетами человек против бота. Условие задачи: На столе лежит 120 конфета. Играют два игрока делая ход друг после друга. Первый ход делает человек. За один ход можно забрать не более чем 28 конфет Победитель - тот, кто оставил на столе 0 конфет. a) Добавьте игру против бота Доп b) Подумайте как наделить бота ""интеллектом"" (Теория игр)

  2. Создайте программу для игры в ""Крестики-нолики"" человек vs человек

  3. Реализуйте RLE алгоритм: реализуйте модуль сжатия и восстановления данных

Семинар 6

  1. Вводится список целых чисел в одну строчку через пробел. Необходимо оставить в нем только двузначные числа. Реализовать программу с использованием функции filter. Результат отобразить на экране в виде последовательности оставшихся чисел в одну строчку через пробел

  2. Дан список, вывести отдельно буквы и цифры, пользуясь filter

  3. Напишите программу, которая принимает на вход вещественное число и показывает сумму его цифр

Семинар 7

Создать телефонный справочник с возможностью импорта и экспорта данных в нескольких форматах

под форматами понимаем структуру файлов, например:в файле на одной строке хранится одна часть записи, пустая строка - разделитель

1.txt

Фамилия_1
Имя_1
Телефон_1
Описание_1
-----------
Фамилия_2
Имя_2
Телефон_2
Описание_2

и т.д.в файле на одной строке хранится все записи, символ разделитель - ","

2.txt

Фамилия_1,Имя_1,Телефон_1,Описание_1

Фамилия_2,Имя_2,Телефон_2,Описание_2

Пример работы программы:

1. Вывод
2. Добавление

п -> 2

Введите ф - Иванов
Введите и - Иван
Введите т - 1234235
Введите инф - работа

1. Вывод
2. Добавление

п -> 1

Иванов, Иван, 13254, работа

Иванов, Иван, 13254, работа

Иванов, Иван, 13254, работа

Семинар 8

Создать информационную систему позволяющую работать с учителями / учениками школы

Учитель: Добавляет оценку, опред. ученику за опред. предмет Ученик: Просматривает оценки по фамилии

Семинар 9

  1. Напишите Бота, удаляющего из текста все слова, содержащие "абв". (Ввод от пользователя)
Пример:
привет приабвет ограбпв
Ответ:
привет ограбпв
  1. Создайте Бота для игры с конфетами человек против бота. (Дополнительно)

Семинар 10

Прикрутить бота к задачам с предыдущего семинара: Создать калькулятор для работы с рациональными, организовать меню, добавив в неё систему логирования(Содержит: id.Пользователь, ввод, результат)

Дополнительно с комплексными числами

Пример:
12 + 3 * 3
Ваш ответ: 21

Семинар 11

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

About

Домашние задания GeekBrains по Python


Languages

Language:Jupyter Notebook 96.1%Language:Python 3.9%