ChatCrawlerпоиск по публичному Telegram Открыть приложение
О

Основы Python

сообщение · 2026-03-21 11:57 UTC
A
Ответсообщение недоступно
Вот мой код к задаче Т. База данных пользователей. На 3 тесте ловлю ошибку RE. Подскажите пожалуйста, что не так? from datetime import datetime import re _database = [] def insert(*users): for user in users: if any(u['id'] == user['id'] for u in _database): raise ValueError(f"User with id {user['id']} already exists") if any(u['name'] == user['name'] for u in _database): raise ValueError(f"User with name {user['name']} already exists") _database.append(user) def select(condition=None): filtered_users = _database.copy() if condition: match = re.match(r'^(\w+)\s*(<=|>=|<|>|==)\s*(.+)$', condition.strip()) if not match: raise ValueError("Invalid condition format") field, operator, value = match.groups() def compare(user): try: if field == 'id': user_value = user['id'] value_casted = int(value) elif field == 'name': user_value = user['name'] value_casted = value # строка elif field == 'birth': user_value = datetime.strptime(user['birth'], '%d.%m.%Y') value_casted = datetime.strptime(value, '%d.%m.%Y') else: return False if operator == '<': return user_value < value_casted elif operator == '>': return user_value > value_casted elif operator == '<=': return user_value <= value_casted elif operator == '>=': return user_value >= value_casted elif operator == '==': return user_value == value_casted except (KeyError, ValueError): return False filtered_users = [u for u in filtered_users if compare(u)] return sorted(filtered_users, key=lambda x: x['id'])

Вся лента · оригинал в Telegram

Открыть в Telegram Каталог площадок Искать в ChatCrawler

Слепок открытой публичной ленты из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог