Advertisement
Toxotsist

Task 9 py

Apr 3rd, 2022 (edited)
826
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.38 KB | None | 0 0
  1. from enum import Enum, auto
  2.  
  3.  
  4. class State(Enum):
  5.     A = auto()
  6.     B = auto()
  7.     C = auto()
  8.     D = auto()
  9.     E = auto()
  10.     F = auto()
  11.     G = auto()
  12.     H = auto()
  13.  
  14.  
  15. def main():
  16.     return Main()
  17.  
  18.  
  19. class Main:
  20.     def __init__(self) -> None:
  21.         self.state = State.A
  22.  
  23.     def coat(self):
  24.         match self.state:
  25.             case State.A:
  26.                 self.state = State.F
  27.                 return 1
  28.             case State.F:
  29.                 self.state = State.G
  30.                 return 9
  31.             case State.G:
  32.                 self.state = State.H
  33.                 return 10
  34.             case State.C:
  35.                 self.state = State.E
  36.                 return 4
  37.             case State.D:
  38.                 self.state = State.E
  39.                 return 6
  40.             case State.E:
  41.                 self.state = State.F
  42.                 return 8
  43.             case State.B:
  44.                 raise KeyError()
  45.             case State.H:
  46.                 raise KeyError()
  47.  
  48.     def cast(self):
  49.         match self.state:
  50.             case State.A:
  51.                 self.state = State.B
  52.                 return 0
  53.             case State.B:
  54.                 raise KeyError()
  55.             case State.C:
  56.                 self.state = State.G
  57.                 return 5
  58.             case State.D:
  59.                 raise KeyError()
  60.             case State.E:
  61.                 raise KeyError()
  62.             case State.F:
  63.                 raise KeyError()
  64.             case State.G:
  65.                 return 11
  66.             case State.H:
  67.                 raise KeyError()
  68.  
  69.     def march(self):
  70.         match self.state:
  71.             case State.B:
  72.                 self.state = State.C
  73.                 return 2
  74.             case State.C:
  75.                 self.state = State.D
  76.                 return 3
  77.             case State.D:
  78.                 self.state = State.H
  79.                 return 7
  80.             case State.A:
  81.                 raise KeyError()
  82.             case State.E:
  83.                 raise KeyError()
  84.             case State.F:
  85.                 raise KeyError()
  86.             case State.G:
  87.                 raise KeyError()
  88.             case State.H:
  89.                 raise KeyError()
  90.  
  91.  
  92. o = main()
  93. print(o.cast())
  94. print(o.cast())
  95. print(o.march())
  96. print(o.march())
  97. print(o.cast())
  98. print(o.coat())
  99. print(o.coat())
  100. print(o.coat())
  101. print(o.cast())
  102. print(o.cast())
  103. print(o.coat())
  104.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement