— Задача 1:
Нужно написать функцию, которая переворачивает строку. Входная строка задается, как массив символов s. Нужно перевернуть входной массив на месте без дополнительной памяти
Example 1:
Input: s = ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Example 2:
Input: s = ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
Задача 2:
Написать декоратор, который выводит время выполнения функции
— Задача 3:
Реализовать класс Singleton
— Задача 4:
Написать класс RedisLock — контекстный менеджер, который будет блокировать доступ другим обращениям при обращении в Redis по ключу
def redis_get(key: str): pass
def redis_set(key: str, value: Any, expire: float): pass
def redis_delete(key: str): pass
class RedisLock:
pass
def updateuser(userid: int):
key = f"user{userid}"
with RedisLock(key=key):
passЗадача 5:
Что не так в коде?
import asyncio
import aiohttp
async def download_file(url: str, filename: str) -> None:
session = aiohttp.ClientSession()
resp = await session.get(url)
body = await resp.read()
with open(filename, "wb") as f:
f.write(body)
-Задача 6:
Пусть есть таблица товаров и их производителей.
Таблица "Продукты"
+---------------+--------+
| Column Name | Type |
+---------------+--------+
| id | int | id-уникальный ключ для таблицы продуктов
| name | varchar | наименование продукта
| company | varchar | ссылка на компанию
| product_count | int | количество продукта
| price | int | цена продукта
| is_discounted | int | есть скидка на продукт
+---------------+--------+
1. Надо сгруппировать товары по производителям с ценой выше 30000 рублей.
2. Надо сгруппировать по производителям и найти все группы, для которых определено более 1 модели и общая стоимость товаров превышает 80000