Solving tasks of homeworks on Python:
Homework1:
- Задача №1. Напишите программу, которая принимает на вход цифру, обозначающую день недели, и проверяет, является ли этот день выходным.
- Задача №2. Напишите программу для проверки истинности утверждения ¬(X ⋁ Y ⋁ Z) = ¬X ⋀ ¬Y ⋀ ¬Z для всех значений предикат.
- Задача №3. Напишите программу, которая принимает на вход координаты точки (X и Y), причём X ≠ 0 и Y ≠ 0 и выдаёт номер четверти плоскости, в которой находится эта точка (или на какой оси она находится).
- Задача №4. Напишите программу, которая по заданному номеру четверти, показывает диапазон возможных координат точек в этой четверти (x и y).
- Задача №5. Напишите программу, которая принимает на вход координаты двух точек и находит расстояние между ними в 2D пространстве.
- ДОП. Требуется найти N-е число Фибоначчи.
Homework2:
- Задача 1. На столе лежат n монеток. Некоторые из них лежат вверх решкой, а некоторые – гербом. Определите минимальное число монеток, которые нужно перевернуть, чтобы все монетки были повернуты вверх одной и той же стороной.
- Задача 2. Требуется посчитать сумму целых чисел, расположенных между числами 1 и N включительно.
- Задача 3. Требуется найти наименьший натуральный делитель целого числа N, отличный от 1.
- Задача 4. Петя впервые пришел на урок физкультуры в новой школе. Перед началом урока ученики выстраиваются по росту, в порядке невозрастания. Напишите программу, которая определит на какое место в шеренге Пете нужно встать, чтобы не нарушить традицию, если заранее известен рост каждого ученика и эти данные уже расположены по невозрастанию (то есть каждое следующее число не больше предыдущего). Если в классе есть несколько учеников с таким же ростом, как у Пети, то программа должна расположить его после них.
- Задача 5 (Доп). В фермерском хозяйстве в Карелии выращивают чернику. Она растет на круглой грядке, причем кусты высажены только по окружности. Таким образом, у каждого куста есть ровно два соседних. Всего на грядке растет N кустов. Эти кусты обладают разной урожайностью, поэтому ко времени сбора на них выросло различное число ягод – на i-ом кусте выросло ai ягод. В этом фермерском хозяйстве внедрена система автоматического сбора черники. Эта система состоит из управляющего модуля и нескольких собирающих модулей. Собирающий модуль за один заход, находясь непосредственно перед некоторым кустом, собирает ягоды с этого куста и с двух соседних с ним. Напишите программу для нахождения максимального числа ягод, которое может собрать за один заход собирающий модуль, находясь перед некоторым кустом заданной во входном файле грядки.
Homework3:
- Задача 1. Задайте список из нескольких чисел. Напишите программу, которая найдёт сумму элементов списка, стоящих на нечётной позиции.
- Задача 2. Напишите программу, которая найдёт произведение пар чисел списка. Парой считаем первый и последний элемент, второй и предпоследний и т.д.
- Задача 3. Задайте список из вещественных чисел. Напишите программу, которая найдёт разницу между максимальным и минимальным значением дробной части элементов.
- Задача 4. Напишите программу, которая будет преобразовывать десятичное число в двоичное.
- Задача 5. Задайте число. Составьте список чисел Фибоначчи, в том числе для отрицательных индексов.
Homework4:
- Суперсдвиг - ДЗ-3 (ДОП)! Дана последовательность из N целых чисел и число K. Необходимо сдвинуть всю последовательность (сдвиг - циклический) на |K| элементов вправо, если K – положительное и влево, если отрицательное.
- Задача 1. Пользователь вводит число, Вам необходимо вывести число Пи с той точностью знаков после запятой, сколько указал пользователь (БЕЗ ИСПОЛЬЗОВАНИЯ МОДУЛЕЙ / БИБЛИОТЕК).
- Задача 2. Задайте натуральное число N. Напишите программу, которая составит список простых множителей числа N.
- Задача 3. Задайте последовательность чисел. Напишите программу, которая выведет список неповторяющихся элементов исходной последовательности.
- Задача 4. Задана натуральная степень k. Сформировать случайным образом список коэффициентов (значения от 0 до 100) многочлена и записать в файл многочлен степени k.
- Задача 5. Даны два файла, в каждом из которых находится запись многочлена. Задача - сформировать файл, содержащий сумму многочленов.
- Задача 6 (Дополнительная задача). Два различных натуральных числа называются дружественными, если первое из них равно сумме делителей второго числа, за исключением самого второго числа, а второе равно сумме делителей первого числа, за исключением самого первого числа. Требуется найти все пары дружественных чисел, оба из которых принадлежат промежутку от M до N. В каждой строке вывести по паре чисел через пробел. Первое число пары должно быть меньше второго. Строки должны быть отсортированы в порядке возрастания первого числа пары. Если пар дружественных чисел в промежутке нет, вывести "Absent".
Homework5:
- Задача 1. Создайте программу для игры с конфетами человек против человека.
Условие задачи:
На столе лежит 2021 конфета. Играют два игрока делая ход друг после друга. Первый ход определяется жеребьёвкой. За один ход можно забрать не более чем 28 конфет. Все конфеты оппонента достаются сделавшему последний ход. Сколько конфет нужно взять первому игроку, чтобы забрать все конфеты у своего конкурента?
a) Добавьте игру против бота
b) Подумайте как наделить бота ""интеллектом"". - Задача 2. Создайте программу для игры в ""Крестики-нолики"".
- Задача 3. Реализуйте RLE алгоритм: реализуйте модуль сжатия и восстановления данных. Входные и выходные данные хранятся в отдельных текстовых файлах.
Homework6:
- Задача 1. Написать функцию print_operation_table(operation, num_rows, num_columns).
- Задача 2. Мимикрия.
- Задача 3. Самая далёкая планета.
- Задача 4. Пам-парам парам-пам парам.
- Задача 5. Все равны, как на подбор.
Homework7:
- Задача 1 - TXT. Создать телефонный справочник с возможностью импорта и экспорта данных в формате .txt.
- Задача 2 - CSV. Создать телефонный справочник с возможностью импорта и экспорта данных используя модуль CSV.
Homework8:
- Задача 1. Хакер Василий получил доступ к классному журналу и хочет заменить все свои минимальные оценки на максимальные. Напишите программу, которая заменяет оценки Василия, но наоборот: все максимальные – на минимальные.
- Задача 2. Дано натуральное число N и последовательность из N элементов. Требуется вывести эту последовательность в обратном порядке.
Примечание: В программе запрещается объявлять массивы и использовать циклы (даже для ввода и вывода). Через рекурсию необходимо делать.
Homework9:
- Задача 1. Напишите бота, удаляющего из текста все слова, содержащие "абв". (текст вводит пользователь).
- Задача 2 (Дополнительное). Создайте программу для игры с конфетами человек против бота (интелект).
- Задача 3 (Дополнительное). Создать калькулятор для работы с рациональными и комплексными числами, организовать меню, добавив в неё систему логирования.
Примечание: Решение 3 в 1. Реализовал все задачи в телеграмм боте с предоставлением выбора задачи пользователем
Homework10:
- Задача. 21 очко с командой, при вызове которой, бот говорит, кто сколько раз выиграл (выводит счет).
- Python