Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. class Company(Object):
  2. def __init__(self, sharehoders):
  3. self.shareholders = shareholders
  4. self.owners = set()
  5. self.flag = False
  6.  
  7. def generate_owners(self):
  8. for shareholder, percentage in shareholders:
  9. if shareholder in self.owners:
  10. continue
  11. elif shareholder isinstance(shareholder, Company):
  12. self.owners.union(shareholder.generate_owner())
  13. else:
  14. self.owners.append(shareholder)
  15. return self.owners
  16.  
  17. def owners_with_percentage(self, seen, ownership, percentage = 100):
  18. if not flag:
  19. flag = True
  20. self.generate_owners()
  21.  
  22. for shareholder, percent in shareholders:
  23. if shareholder not isinstance(shareholder, Company, percent):
  24. ownership[shareholder] = ownership.get(shareholder, 0) + (shareholders[shareholder] * percent * 0.01)
  25. else:
  26. if shareholder in seen:
  27. continue
  28. else:
  29. seen.add(shareholder)
  30. shareholder.owners_with_percentage(seen, ownership, percent)
  31. return ownership
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement