from enum import IntEnum from typing import Optional class Difficulty(IntEnum): EASY = 0 NORMAL = 1 HARD = 2 values = [ Difficulty.EASY, Difficulty.NORMAL, Difficulty.HARD] def format(difficulty: Difficulty) -> str: if difficulty == Difficulty.EASY: return 'Easy' elif difficulty == Difficulty.NORMAL: return 'Normal' elif difficulty == Difficulty.HARD: return 'Hard' def parse(string: str) -> Optional[Difficulty]: if string == 'Easy': return Difficulty.EASY elif string == 'Normal': return Difficulty.MIDDLE elif string == 'Hard': return Difficulty.HARD else: return None