webbersof

Pirates

Mar 25th, 2022
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.00 KB | None | 0 0
  1. def extract_func(command, data_dict):
  2.     command = command.split('||')
  3.     town = command[0]
  4.     population = int(command[1])
  5.     gold = int(command[2])
  6.  
  7.     if town not in data_dict:
  8.         data_dict[town] = [population, gold]
  9.     else:
  10.         data_dict[town][0] += population
  11.         data_dict[town][1] += gold
  12.  
  13.     return data_dict
  14.  
  15. def sail_func(command, data_dict):
  16.     command = command.split('=>')
  17.     current_command = command[0]
  18.  
  19.     if current_command == 'Plunder':
  20.         town = command[1]
  21.         people = int(command[2])
  22.         gold = int(command[3])
  23.  
  24.         data_dict[town][0] -= people
  25.         data_dict[town][1] -= gold
  26.  
  27.         print(f"{town} plundered! {gold} gold stolen, {people} citizens killed.")
  28.  
  29.         if data_dict[town][0] <= 0 or data_dict[town][1] <= 0:
  30.             del data_dict[town]
  31.             print(f"{town} has been wiped off the map!")
  32.  
  33.     elif current_command == 'Prosper':
  34.         town = command[1]
  35.         gold = int(command[2])
  36.  
  37.         if gold > 0:
  38.             data_dict[town][1] += gold
  39.             print(f"{gold} gold added to the city treasury. {town} now has {data_dict[town][1]} gold.")
  40.         else:
  41.             print("Gold added cannot be a negative number!")
  42.  
  43.     return data_dict
  44.  
  45. def pirates():
  46.     data_dict = {}
  47.     condition = False
  48.     while True:
  49.         command = input()
  50.  
  51.         if command == 'End':
  52.             break
  53.         elif command != 'Sail' and not condition:
  54.             data_dict = extract_func(command, data_dict)
  55.  
  56.         elif command == 'Sail':
  57.             condition = True
  58.             continue
  59.  
  60.         elif condition:
  61.             data_dict = sail_func(command, data_dict)
  62.  
  63.     print(f'Ahoy, Captain! There are {len(data_dict)} wealthy settlements to go to:')
  64.  
  65.     for data in data_dict:
  66.         town = data
  67.         current_population = data_dict[data][0]
  68.         current_gold = data_dict[data][1]
  69.         print(f'{town} -> Population: {current_population} citizens, Gold: {current_gold} kg')
  70.  
  71. pirates()
Advertisement
Add Comment
Please, Sign In to add comment