Конечно, наши уроки крайне увлекательны и их можно смотреть очень долго – но рано или поздно приходит пора применить свои навыки на практике. Предлагаем вам возможность написать что-то своими руками!

Общие инструкции

Скачайте архив с задачами. В архиве есть два файла: 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