/
Carton
/
python-course-tasks
Обзор
Документация
Войти
/
Carton
/
python-course-tasks
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
task_06_02_08/main.py
99 строк
3 KB
Yuri Petrov
+ перенос заданий в отдельный репозиторий
02 июл 2020, 02:05
02 июл 2020, 02:05
5312992
Код
Авторство
О чём код?
# Программирование на языке высокого уровня (Python). # https://www.yuripetrov.ru/edu/python # Задание task_06_02_08. # # Выполнил: Фамилия И.О. # Группа: !!! # E-mail: !!! import random import time def timeit(func, *args, **kw): """Выполнить функицю 'func' с параметрами '*args', '**kw' и вернуть время выполнения в мс.""" time_start = time.time() res = func(*args, **kw) time_end = time.time() return (time_end - time_start) * 1000.0, res def maxmin1(data): """Вернуть минимум и максимум из 'data'. Алгоритм: Последовательный перебор всего массива. Сложность: !!!. Параметры: - data (list of int): список целых чисел. Результат: tuple: мин. и макс. значения.""" # Удалите комментарий и допишите код def maxmin2(data): """Вернуть минимум и максимум из 'data'. Алгоритм: Сортировка списка, и возврат первого и последнего элементов. Сложность: !!!. Параметры: - data (list of int): список целых чисел. Результат: tuple: мин. и макс. значения.""" # Удалите комментарий и допишите код def maxmin3(data): """Вернуть минимум и максимум из 'data'. Алгоритм: Используя встроенные функции min() и max(). Сложность: !!!. Параметры: - data (list of int): список целых чисел. Результат: tuple: мин. и макс. значения.""" # Удалите комментарий и допишите код if __name__ == "__main__": GEN_LIMIT = 1000000 dataset = [] for i in range(4, 7): dataset.append(random.sample(range(-GEN_LIMIT, GEN_LIMIT), 10**i)) res = [["i", "1 способ (мс.)", "2 способ (мс.)", "3 способ (мс.)"]] for data in dataset: res.append([len(data), timeit(maxmin1, data)[0], timeit(maxmin2, data)[0], timeit(maxmin3, data)[0]]) # Вывод print("{:>15} {:>15} {:>15} {:>15}".format(*res[0])) for r in res[1:]: print("{:>15} {:>15.2f} {:>15.2f} {:>15.2f}".format(*r)) # ------------- # Пример вывода: # # i 1 способ (мс.) 2 способ (мс.) 3 способ (мс.) # 10000 1.00 5.00 0.00 # ...