Skip to content

KateStulova/Tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

task1.py

Напишите программу, которая вычисляет и выводит в stdout сумму цифр всех чисел массива, которые находятся в диапазоне между средним значением и 90 перцентилем. Массив чисел считывается из файла, путь к которому передается в виде аргумента командной строки (не stdin). Формат файла: каждое число (int_64) заканчивается символом новой строки.

Примечание: конечно, задание подразумевает реализацию методов сортировки массива, поиска среднего значения и перцентиля.

task2.py

Напишите программу, которая ответит на вопрос: подобны ли данные треугольники? Координаты считываются из файла, путь к которому передается в качестве аргумента командной строки. Формат файла: {triangle1: {A: [0, 0, 0], B: [0, 5, 0], C: [5, 5, 0]}, triangle2: {A: [0, 0, 0], C: [0, 0, 5], B: [5, 0, 3]}}

Примечание: координата точки – массив [x, y, z].

task3.py

Некоторое количество человек то наливают воду в бочку, то черпают из бочки. Если человек пытается налить больше воды, чем есть свободного объема – это ошибка, при этом объем воды в бочке не меняется. Так же если человек пытается зачерпнуть больше воды, чем есть в бочке – ошибка, объем воды также при этом не меняется. В остальных случаях – успех, объем бочки меняется соответственно. Вам дан лог файл. Напишите программу, которая ответит на следующие вопросы:

  • какое количество попыток налить воду в бочку было за указанный период?
  • какой процент ошибок был допущен за указанный период?
  • какой объем воды был налит в бочку за указанный период?
  • какой объем воды был не налит в бочку за указанный период?
  • ... то же самое для забора воды из бочки ...
  • какой объем воды был в бочке в начале указанного периода? Какой в конце указанного периода?

Путь к логу, желаемый период – подаются в качестве аргументов командной строки. Результат записывается в csv файл (с наименованием столбцов). Пример строки запуска: python3 task3.py ./log.log 2020-01-01T12:00:00 2020-01-01T13:00:00 Пример лог файла: META DATA: 200 (объем бочки) 32 (текущий объем воды в бочке) 2020-01-01Т12:51:32.124Z – [username1] - wanna top up 10l (успех) 2020-01-01Т12:51:34.769Z – [username2] - wanna scoop 50l (фейл)

Примечание: текст в скобках в логе отсутствует, это для пояснения; для проверки сгенерируйте лог файл объемом 1 Mb, приложите его к решению. Обратите внимание, искомого временного интервала может не быть в логе, приложение не должно при этом крашиться. Если аргументы поданы не верно, в stdout должен выводится usage.

task4.py

Напишите программу, которая сравнивает 2 строки одинаковые ли они. Результат: вывод «ОК», если строки идентичны, «КО», если не идентичны. Строки подаются в виде аргументов командной строки.

Примечание: во второй строке может быть символ ‘*’ – он заменяет собой любое количество любых символов.

Например:

«аааа» «аааа» - ОК

«аааа» «аа*» - ОК

«a» «*****» - ОК

Дополнение: регулярные выражения ЗАПРЕЩЕНЫ.

About

Just different tasks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages