Advertisement
George_Ivanov05

0.3 P!rates

Jul 21st, 2021
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.94 KB | None | 0 0
  1. string = input().split("||")
  2.  
  3. my_dict = {}
  4.  
  5. while not string[0] == "Sail":
  6.     town = string[0]
  7.     people = int(string[1])
  8.     gold = int(string[2])
  9.     if town not in my_dict and people > 0:
  10.         my_dict[town] = {"pl": people, "gl": gold}
  11.     elif town in my_dict and people > 0:
  12.         my_dict[town]["pl"] += people
  13.         my_dict[town]["gl"] += gold
  14.     string = input().split("||")
  15.  
  16.  
  17. actions = input().split("=>")
  18.  
  19. while not actions[0] == "End":
  20.     command = actions[0]
  21.     town = actions[1]
  22.     if command == "Plunder":
  23.         people_killed = int(actions[2])
  24.         gold_stolen = int(actions[3])
  25.         if my_dict[town]["pl"] - people_killed >= 0 or my_dict[town]["gl"] - gold_stolen >= 0:
  26.             people_left = my_dict[town]["pl"] - people_killed
  27.             gold_left = my_dict[town]["gl"] - gold_stolen
  28.             my_dict[town]["pl"] = people_left
  29.             my_dict[town]["gl"] = gold_left
  30.             print(f"{town} plundered! {gold_stolen} gold stolen, {people_killed} citizens killed.")
  31.         if my_dict[town]["pl"] - people_killed <= 0 or my_dict[town]["gl"] - gold_stolen < 0:
  32.             if my_dict[town]["pl"] == 0 or my_dict[town]["gl"] == 0:
  33.                 print(f"{town} has been wiped off the map!")
  34.                 my_dict.pop(town)
  35.     elif command == "Prosper":
  36.         receiving_gold = int(actions[2])
  37.         if receiving_gold < 0:
  38.             print("Gold added cannot be a negative number!")
  39.         if town in my_dict and receiving_gold >= 0:
  40.             my_dict[town]["gl"] += receiving_gold
  41.             print(f"{receiving_gold} gold added to the city treasury. Santo Domingo now has {my_dict[town]['gl']} gold.")
  42.  
  43.     actions = input().split("=>")
  44.  
  45. print(f"Ahoy, Capitan! There are {len(my_dict)} wealthy settlements to go to:")
  46.  
  47. for key, value in sorted(my_dict.items(), key=lambda x: (-my_dict[x]["gl"])):
  48.     print(f"{key} -> Population: {value['pl']} citizens, Gold: {value['gl']} kg")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement