Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Задание 1

Строка содержит пять временных значений. Они записаны через запятую:'1h 45m,360s,25m,30m 120s,2h 60s'Напиши цикл, который посчитает общее количество минут. Результат сохрани в переменную и выведи на экран. Используй в решении методы split(), replace() и оператор in.Обрати внимание: временное значение может состоять из одного, двух или трёх единиц времени. Значения расшифровываются так:

  • часы — любое положительное целое число и символ h;
  • минуты — любое положительное целое число и символ m;
  • секунды — положительное целое число кратное 60 и символ s.
Задание 2

Исправь класс Tester так, чтобы:
  • при вызове метода work_hard у экземпляра класса tester_1 печаталось 'tester_1 Можно отдыхать';
  • при вызове метода work_hard у экземпляра класса tester_2 печаталось 'tester_2 Что ж, ещё часок поработаю!'.
Вызовы менять не нужно.

class Tester: def __init__(name): name = name deadline = True def work_hard(self, deadline=True): if self.deadline: print(self.name, 'Что ж, ещё часок поработаю!') else: print(self.name, 'Можно отдыхать')tester_1 = Tester(name='tester_1')tester_1.work_hard(deadline=False) # 'tester_1 Можно отдыхать'tester_2 = Tester(name='tester_2')tester_2.work_hard(deadline=True) # 'tester_2 Что ж, ещё часок поработаю!'

Задание 3

Над каждым файлом можно производить операции:

  • запись — W
  • чтение — R
  • запуск — X
Напиши функцию, которая обрабатывает действия с файлами.В словаре files ключ — это имя файла, а значение — список из операций, которые доступны для этого файла:

files = { 'cool_movie.avi': ['X'], 'math_summary.docx': ['R', 'W'], 'war_and_peace.txt': ['R', 'W', 'X']}

Например: 'write cool_movie.avi' или 'read war_and_peace.txt'.Например:

  • 'write cool_movie.avi' выведет Access denied,
  • 'execute cool_movie.avi' выведет ОК.
Функция принимает на вход один запрос в виде строки — например, 'write cool_movie.avi' — и возвращает OK или Access denied. Вызывать функцию необязательно.

Задание 4

Есть два пустых списка: word_list и marks_list. Напиши функцию, которая принимает на вход строку и наполняет списки:

  • word_list — словами из строки;
  • marks_list — знаками препинания из строки.
Строка всегда состоит из слов и знаков препинания ,, !, ., ?. Слова разделяются одиночным пробелом. Подряд идёт только один знак препинания. Каждое предложение начинается с заглавной буквы и заканчивается знаком препинания.Например, в функцию передали строку с цитатой из сериала Breaking Bad 'Мне не грозит опасность, Скайлер, я сам опасность! Кто-то откроет дверь и схватит пулю. Думаешь, им буду я? Нет. Это я постучу в дверь.'. Результат будет таким:
  • word_list = ['Мне', 'не', 'грозит', 'опасность', 'Скайлер', 'я', 'сам', 'Кто-то', 'откроет', 'дверь', 'и', 'схватит', 'пулю', 'Думаешь', 'им', 'буду', 'Нет', 'Это', 'постучу', 'в']
  • marks_list = [',', '!', '.', '?']
Ты можешь тестировать функцию на любой другой строке. Но убедись, что она соответствует условиям.Требования к результату обработки:
  • Значения в списках идут по порядку и не повторяются. Если в строке несколько одинаковых значений, функция добавляет в список только первое вхождение.
  • Регистр символов важен. Одинаковые слова, которые начинаются с маленькой и заглавной букв, — это разные слова. Например, «Мне» и «мне».
В решении используй метод split(). Импортировать и применять дополнительные библиотеки и функции не нужно. Задача решается без регулярных выражений.Подсказка
  • Разбей строку на отдельные слова с помощью метода split(). Разделитель — одиночный пробел. Результат сохрани в переменную. Дальше работай с полученным списком.
  • У каждого значения списка проверь последний символ через индекс:
    • Если символ — это знак препинания, добавь его в marks_list. Остальная часть гарантированно будет словом. Сохрани её в другой список.
    • Если символ — не знак препинания, добавь значение в word_list.
  • Не забывай проверять наличие слов и знаков препинания в списках. Не добавляй повторы.
Задание 5Реализуй класс TestCase, в котором будут:
  • Конструктор, внутри которого устанавливаются атрибуты:
    • id тест-кейса — рандомное трёхзначное число;
    • name название тест-кейса — передаётся при создании объекта TestCase;
    • steps — словарь, куда будут добавляться шаги тест-кейса;
    • result — ожидаемый результат тест-кейса.
  • Метод set_step — добавляет в словарь steps шаг тест-кейса. Принимает два параметра: step_number и step_text. Ключ — это step_number (номер шага), а значение — step_text (текстовое описание шага).
  • Метод delete_step — удаляет шаг из steps по переданному в метод ключу step_number.
  • Метод get_steps — возвращает текущий список шагов.
  • Метод set_result — устанавливает ожидаемый результат в атрибут result по переданному параметру result.
  • Метод get_test_case — печатает текущее состояние тест-кейса.
Пример вывода метода get_test_case

{ 'id': 988, 'Название': 'Добавление товара в корзину', 'Шаги': { 1: 'Перейти на сайт', 2: 'Перейти в раздел Товары', 3: 'Нажать кнопку «В корзину» у первого товара' }, 'Ожидаемый результат': 'Товар окажется в корзине'}

2 года назад
ky0n
26 летРоссия
2 года в сервисе
Был
2 года назад
Выбранный исполнитель
Mifaaa93
31 годУкраина
3 года в сервисе
Был
день назад
2 года назад
$50
1 день
UAH
Задача сделана быстро, все в срок, крайне рекомендую!
Все прошло хорошо. Отличный заказчик , рекомендую к сотрудничеству