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.NORMAL elif string == "Hard": return Difficulty.HARD else: return None