Giter Club home page Giter Club logo

gb_python_homework's Introduction

Решение задач на курсе изучения Python

Семинар 1-2: примерный список задач

  1. По двум заданным числам проверить является ли одно квадратом второго
  2. Найти максимальное из пяти чисел
  3. Вывести на экран числа от -N до N
  4. Показать первую цифру дробной части числа
  5. Дано число. Проверить кратно ли оно 5 и 10 или 15 но не 30
  6. Дано число обозначающее день недели. Вывести его название и указать является ли он выходным.
  7. Проверить истинность утверждения ¬(X ⋁ Y ⋁ Z) = ¬X ⋀ ¬Y ⋀ ¬Z для всех значений предикат
  8. Сообщить в какой четверти координатной плоскости или на какой оси находится точка с координатами Х и У
  9. Указав номер четверти прямоугольной системы координат, показать допустимые значения координат для точек этой четверти
  10. Найти расстояние между двумя точками пространства

Семинар 3-4: примерный список задач

  1. Сформировать список из N членов последовательности.Для N = 5: 1, -3, 9, -27, 81 и т.д.
  2. Для натурального n создать словарь индекс-значение, состоящий из элементов последовательности 3n + 1. Для n = 6: {1: 4, 2: 7, 3: 10, 4: 13, 5: 16, 6: 19}
  3. Пользователь задаёт две строки. Определить количество вхождений одной строки в другой.
  4. Подсчитать сумму цифр в вещественном числе.
  5. Написать программу получающую набор произведений чисел от 1 до N. Пример: пусть N = 4, тогда[ 1, 2, 6, 24 ]
  6. Задать список из n чисел последовательности (1+1n)n и вывести на экран их сумму
  7. Задать список из N элементов, заполненных числами из [-N, N]. Найти произведение элементов на указанных позициях. Позиции хранятся в файле file.txt в одной строке одно число
  8. Реализовать алгоритм перемешивания списка.
  9. Реализовать алгоритм задания случайных чисел. Без использования встроенного генератора псевдослучайных чисел
  10. Определить, присутствует ли в заданном списке строк, некоторое число
  11. Определить, позицию второго вхождения строки в списке либо сообщить, что её нет. Примеры:
    • список: ["qwe", "asd", "zxc", "qwe", "ertqwe"], ищем: "qwe", ответ: 3
    • список: ["йцу", "фыв", "ячс", "цук", "йцукен", "йцу"], ищем: "йцу", ответ: 5
    • список: ["йцу", "фыв", "ячс", "цук", "йцукен"], ищем: "йцу", ответ: -1
    • список: ["123", "234", 123, "567"], ищем: "123", ответ: -1
    • список: [], ищем: "123", ответ: -1

Семинар 4: примерный список задач для работы на семинаре

  1. Задайте список из нескольких чисел. Напишите программу, которая найдёт сумму элементов списка, стоящих на нечётной позиции. Пример:
    • [2, 3, 5, 9, 3] -> на нечётных позициях элементы 3 и 9, ответ: 12
  2. Напишите программу, которая найдёт произведение пар чисел списка. Парой считаем первый и последний элемент, второй и предпоследний и т.д. Пример:
    • [2, 3, 4, 5, 6] => [12, 15, 16];
    • [2, 3, 5, 6] => [12, 15]
  3. Задайте список из вещественных чисел. Напишите программу, которая найдёт разницу между максимальным и минимальным значением дробной части элементов. Пример:
    • [1.1, 1.2, 3.1, 5, 10.01] => 0.19
  4. Напишите программу, которая будет преобразовывать десятичное число в двоичное. Пример:
    • 45 -> 101101
    • 3 -> 11
    • 2 -> 10
  5. Задайте число. Составьте список чисел Фибоначчи, в том числе для отрицательных индексов. Пример:
    • для k = 8 список будет выглядеть так: [-21 ,13, -8, 5, −3, 2, −1, 1, 0, 1, 1, 2, 3, 5, 8, 13, 21] [Негафибоначчи]
  6. Задайте строку из набора чисел. Напишите программу, которая покажет большее и меньшее число. В качестве символа-разделителя используйте пробел.
  7. Найдите корни квадратного уравнения Ax² + Bx + C = 0 двумя способами:
    1. с помощью математических формул нахождения корней квадратного уравнения
    2. с помощью дополнительных библиотек Python
  8. Задайте два числа. Напишите программу, которая найдёт НОК (наименьшее общее кратное) этих двух чисел.

Семинар 4. Домашнее задание:

  1. Вычислить число c заданной точностью d. Пример: при d = 0.001,π = 3.141 10^(-1)≤d≤10^(-10)
  2. Задайте натуральное число N. Напишите программу, которая составит список простых множителей числа N.
  3. Задайте последовательность чисел. Напишите программу, которая выведет список неповторяющихся элементов исходной последовательности.
  4. Задана натуральная степень k. Сформировать случайным образом список коэффициентов (значения от 0 до 100) многочлена и записать в файл многочлен степени k. Пример:
    • k=2 => 2x² + 4x + 5 = 0 или x² + 5 = 0 или 10*x² = 0
  5. Даны два файла, в каждом из которых находится запись многочлена. Задача - сформировать файл, содержащий сумму многочленов.

Семинар 5. Домашнее задание:

  1. Напишите программу, удаляющую из текста все слова, содержащие "абв". Пример:
    • Входные данные: 'ываабв лповап абвцукв алоабвабв ываываыв'
    • Выходные данные: 'лповап ываываыв'
  2. Создайте программу для игры с конфетами человек против человека. Условие задачи: На столе лежит 2021 конфета. Играют два игрока делая ход друг после друга. Первый ход определяется жеребьёвкой. За один ход можно забрать не более чем 28 конфет. Все конфеты оппонента достаются сделавшему последний ход. Сколько конфет нужно взять первому игроку, чтобы забрать все конфеты у своего конкурента?
    • Добавьте игру против бота
    • Подумайте, как наделить бота "интеллектом"
  3. Реализуйте RLE алгоритм: реализуйте модуль сжатия и восстановления данных. Входные и выходные данные хранятся в отдельных текстовых файлах. Пример:
    • На сжатие входные данные: WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW
    • Выходные данные: 12W1B12W3B24W1B14W

Семинар 7. Домашнее задание:

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

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

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

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

и т.д.в файле на одной строке хранится все записи, символ разделитель - ; Фамилия_1,Имя_1,Телефон_1,Описание_1 Фамилия_2,Имя_2,Телефон_2,Описание_2 и т.д.

Можно использование CSV

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.