Python_seminars

0

Описание

Языки

  • Jupyter Notebook96,1%
  • Python3,9%
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
README.md

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

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

Урок 1. Знакомство с Python

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

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

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

Пример:

  • x=34; y=-30 -> 4
  • x=2; y=4-> 1
  • x=-34; y=-30 -> 3
  1. Напишите программу, которая по заданному номеру четверти, показывает диапазон возможных координат точек в этой четверти (x и y)

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

Пример:

  • A (3,6); B (2,1) -> 5,09
  • A (7,-5); B (1,-1) -> 7,21

Урок 2. Знакомство с Python. Продолжение

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

Пример:

пусть N = 4, тогда [ 1, 2, 6, 24 ] (1, 12, 123, 1234)

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

Пример:

Для n = 15: Ответ: 3

Для n = 35: Ответ: 5

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

Пример списка ИНДЕКСОВ [2, 2, 3, 1, 8]

Ввод: 4

[-4, -3, -2, -1, 0, 1, 2, 3,4]

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

Урок 3. Данные, функции и модули в Python

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

Пример:

  • [2, 3, 5, 9, 3] -> на нечётных позициях элементы 3 и 9, ответ: 12
  1. Напишите программу, которая найдёт произведение пар чисел списка. Парой считаем первый и последний элемент, второй и предпоследний и т.д

Пример:

  • [2, 3, 4, 5, 6] => [12, 15, 16];
  • [2, 3, 5, 6] => [12, 15]
  1. Задайте список из вещественных чисел. Напишите программу, которая найдёт разницу между максимальным и минимальным значением дробной части элементов

Пример:

  • [1.1, 1.2, 3.1, 5, 10.01] => 0.19
  1. Напишите программу, которая будет преобразовывать десятичное число в двоичное

Пример:

  • 45 -> 101101
  • 3 -> 11
  • 2 -> 10
  1. Задайте число. Составьте список чисел Фибоначчи, в том числе для отрицательных индексов

Пример:

  • для k = 8 список будет выглядеть так: [-21 ,13, -8, 5, −3, 2, −1, 1, 0, 1, 1, 2, 3, 5, 8, 13, 21] Негафибоначчи

Урок 4. Данные, функции и модули в Python. Продолжение

  1. Пользователь вводит число, Вам необходимо вывести число Пи с той точностью знаков после запятой, сколько указал пользователь(БЕЗ round())
  • при d=0.001,π=3.141.d = 0.001, π = 3.141.
    101d101010^{-1} ≤ d ≤10^{-10}
  1. Задайте натуральное число N. Напишите программу, которая составит список простых множителей числа N

24

2 2 2 3

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

Ввод: 1 2 3 2 4 4

Вывод: 1 3

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

Пример:

  • k = 2 => 2x² + 4x + 5
  • k = 3 => 41x^3 + 6x² + 2*x + 98
  1. Даны два файла, в каждом из которых находится запись многочлена. Задача - сформировать файл, содержащий сумму многочленов

Файл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

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

a) Добавьте игру против бота

Доп b) Подумайте как наделить бота ""интеллектом"" (Теория игр)

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

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

stroka = "aaabbbbccbbb"

....

stroka = "3a4b2c3b"

Восстановить

Ввёл: stroka = "3a4b2c3b"

Вывод: stroka = "aaabbbbccbbb"

Урок 6. Ускоренная обработка данных: lambda, filter, map, zip, enumerate, list comprehension. Продолжение

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

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

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

Пример:

  • 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?

  1. Напишите Бота, удаляющего из текста все слова, содержащие "абв". (Ввод от пользователя)

  2. Создайте Бота для игры с конфетами человек против бота. (Дополнительно)

Урок 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