import os
import sys
from typing import List, Dict, Optional
from dataclasses import dataclass
@dataclass
class User:
id: int
name: str
email: str
class UserManager:
def __init__(self):
self.users: Dict[int, User] = {}
def add_user(self, user: User) -> None:
if not user.name:
raise ValueError("Name cannot be empty")
self.users[user.id] = user
def get_user(self, user_id: int) -> Optional[User]:
return self.users.get(user_id)
def calculate_total(self, values: List[int]) -> int:
return sum(values)
def process_user(user: User) -> str:
if not user.name:
raise ValueError("Name cannot be empty")
return f"User: {user.name} ({user.email})"
def main():
user = User(id=1, name="Alice", email="alice@example.com")
manager = UserManager()
manager.add_user(user)
result = process_user(user)
print(result)
numbers = [1, 2, 3, 4, 5]
total = manager.calculate_total(numbers)
print(f"Total: {total}")
if __name__ == "__main__":
main()