Подборка задач №1 для Python
Конечно, наши уроки крайне увлекательны и их можно смотреть очень долго – но рано или поздно приходит пора применить свои навыки на практике. Предлагаем вам возможность написать что-то своими руками!
Общие инструкции
Скачайте архив с задачами. В архиве есть два файла: problem.py и test.py. В файле problem.py находятся скелеты программ, которые вам нужно написать. В файле test.py находятся автоматические тесты, которые можно использовать для проверки ваших программ. Можете также посмотреть видеоинструкцию.
Запуск тестов
Тесты можно запустить напрямую из программы, в которой вы редактируете код. А можно запускать через коммандную строку (cmd на винде, terminal на мак). Для начала, необходимо изменить директорию в папку с файлами problem.py и test.py. Например, если вы разархивируете архив на рабочий стол в папку pset1, необходимо ввести следующую команду в коммандную строку:
cd ~/Desktop/pset1
Затем, можно запустить все тесты по команде:
python3 test.py
Или тесты конкретной задачи (нужно написать название класса из файла test.py)
python3 test.py TestProblem01
Или даже указать конкретный тест!
python3 test.py TestProblem01.test_1_single_elt
Например, если запустить все тесты, вы увидите что-то такое (когда напишете все программы):
Программа №1. Поиск среднего
Ваша задача написать программу, которая будет находить среднее арифметическое чисел из массива. Например:
> l1 = [1, 2, 3]
> print(average(l1))
2
> l2 = [2, 2, 2]
> print(average(l2))
2
> l3 = [4, 5]
> print(average(l3))
4.5
После написания этой программы вы должны успешно выполнять все тесты по команде:
python3 test.py TestProblem01
Программа №2. Перестановка?
Ваша задача написать программу, которая будет определять являются ли две строки перестановкой друг друга? Например строки 'abc' и 'bac' являются перестановками, а 'abc' и 'abcd' нет.
> s1 = 'abc'
> s2 = 'bac'
> print(is_permutation(s1, s2))
True
> s3 = 'abc'
> s4 = 'abcd'
> print(is_permutation(s3, s4))
False
После написания этой программы вы должны успешно выполнять все тесты по команде:
python3 test.py TestProblem02
Программа №3. Поиск моды
Ваша задача написать программу, которая будет находить моду массива (самое часто встречаемое значение). Например, в массиве [0, 1, 2, 2, 2, 3] мода равна 2. Если несколько значений имеют одинаковую частоту можно вывести любое из них
> l4 = [0, 1, 2, 2, 2, 3]
> print(mode(l4))
2
> l5 = [0, 1, 1, 2, 2]
> print(mode(l5))
1 # или 2
После написания этой программы вы должны успешно выполнять все тесты по команде:
python3 test.py TestProblem03