viligen

man_o_war_+def

Oct 23rd, 2021
752
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. def index_valid(any_index, any_list):
  2.     if 0 <= any_index < len(any_list):
  3.         return True
  4.     return False
  5.  
  6.  
  7. pirate_ship = list(map(int, input().split(">")))
  8. warship = list(map(int, input().split(">")))
  9. max_health = int(input())
  10. is_over = False
  11.  
  12. while True:
  13.     command = input().split()
  14.     if "Retire" in command:
  15.         break
  16.     elif "Fire" in command and index_valid(int(command[1]), warship):
  17.         index = int(command[1])
  18.         value = int(command[2])
  19.         if warship[index] - value <= 0:
  20.             is_over = True
  21.             print("You won! The enemy ship has sunken.")
  22.             break
  23.         warship[index] -= value
  24.     elif "Defend" in command and index_valid(int(command[1]), pirate_ship) and index_valid(int(command[2]), pirate_ship):
  25.         index1 = int(command[1])
  26.         index2 = int(command[2])
  27.         value = int(command[3])
  28.         for i in range(index1, index2 +1):
  29.             if pirate_ship[i] - value <= 0:
  30.                 is_over = True
  31.                 print("You lost! The pirate ship has sunken.")
  32.                 break
  33.             pirate_ship[i] -= value
  34.         if is_over:
  35.             break
  36.     elif "Repair" in command and index_valid(int(command[1]), pirate_ship):
  37.         index = int(command[1])
  38.         value = int(command[2])
  39.         if pirate_ship[index] + value >= max_health:
  40.             pirate_ship[index] = max_health
  41.         else:
  42.             pirate_ship[index] += value
  43.     elif "Status" in command:
  44.         repair_needed = len([n for n in pirate_ship if n < 0.2 * max_health])
  45.         print(f"{repair_needed} sections need repair.")
  46. if not is_over:
  47.     print(f"Pirate ship status: {sum(pirate_ship)}\nWarship status: {sum(warship)}")
  48.  
RAW Paste Data