Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from enum import Enum, auto
- class State(Enum):
- A = auto()
- B = auto()
- C = auto()
- D = auto()
- E = auto()
- F = auto()
- G = auto()
- H = auto()
- def main():
- return Main()
- class Main:
- def __init__(self) -> None:
- self.state = State.A
- def coat(self):
- match self.state:
- case State.A:
- self.state = State.F
- return 1
- case State.F:
- self.state = State.G
- return 9
- case State.G:
- self.state = State.H
- return 10
- case State.C:
- self.state = State.E
- return 4
- case State.D:
- self.state = State.E
- return 6
- case State.E:
- self.state = State.F
- return 8
- case State.B:
- raise KeyError()
- case State.H:
- raise KeyError()
- def cast(self):
- match self.state:
- case State.A:
- self.state = State.B
- return 0
- case State.B:
- raise KeyError()
- case State.C:
- self.state = State.G
- return 5
- case State.D:
- raise KeyError()
- case State.E:
- raise KeyError()
- case State.F:
- raise KeyError()
- case State.G:
- return 11
- case State.H:
- raise KeyError()
- def march(self):
- match self.state:
- case State.B:
- self.state = State.C
- return 2
- case State.C:
- self.state = State.D
- return 3
- case State.D:
- self.state = State.H
- return 7
- case State.A:
- raise KeyError()
- case State.E:
- raise KeyError()
- case State.F:
- raise KeyError()
- case State.G:
- raise KeyError()
- case State.H:
- raise KeyError()
- o = main()
- print(o.cast())
- print(o.cast())
- print(o.march())
- print(o.march())
- print(o.cast())
- print(o.coat())
- print(o.coat())
- print(o.coat())
- print(o.cast())
- print(o.cast())
- print(o.coat())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement