Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/python3.7
- # -*- coding: utf-8 -*import
- animals = []
- zones = []
- def it_is(l: list, k: str):
- return [x for x in l if x[0] == k]
- def idx(l: list, k: str):
- return l.index(it_is(l, k)[0])
- command = input()
- while command != 'Last Info':
- tokens = command.split(':')
- command_type = tokens[0]
- animal = tokens[1]
- food = int(tokens[2])
- area = tokens[3]
- if command_type == 'Add':
- if it_is(zones, area):
- if not it_is(animals, animal):
- zones[idx(zones, area)][1] += 1
- else:
- zones.append([area, 1])
- if it_is(animals, animal):
- animals[idx(animals, animal)][1] += food
- else:
- animals.append([animal, food])
- elif command_type == 'Feed':
- if it_is(animals, animal):
- animals[idx(animals, animal)][1] -= food
- if animals[idx(animals, animal)][1] <= 0:
- print(f'{animal} was successfully fed')
- del animals[idx(animals, animal)]
- zones[idx(zones, area)][1] -= 1
- if zones[idx(zones, area)][1] <= 0:
- del zones[idx(zones, area)]
- command = input()
- sorted_animals = sorted(sorted(animals, key=lambda x: x[0]), key=lambda x: x[1], reverse=True)
- sorted_zones = sorted(zones, key=lambda x: x[1], reverse=True)
- print('Animals:')
- [print(f'{x[0]} -> {x[1]}g') for x in sorted_animals]
- print('Areas with hungry animals:')
- [print(f'{x[0]} : {x[1]}') for x in sorted_zones]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement