n0va_sa

Commision Calculator

Sep 13th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.82 KB | None | 0 0
  1. import os
  2. Rothschild_Bank_Balance = 10
  3. class Node():
  4.     def __init__(self, name, parent=None):
  5.         self.value = 0
  6.         self.name = name
  7.         self.left = None
  8.         self.right = None
  9.         self.parent = parent
  10.  
  11. class Rothschild():
  12.     def __init__(self):
  13.         self.member = Node("root")
  14.  
  15.     def addMember(self,under):
  16.         def addSubRoutine(current, target):
  17.             global Rothschild_Bank_Balance
  18.             if current == None:
  19.                 return
  20.             if current.name == target:
  21.                 if current.left == None:
  22.                     print("Add under "+target)
  23.                     name = input('New member name: ')
  24.                     current.left = Node(name,current)
  25.                     Rothschild_Bank_Balance += 10
  26.                     add_value = 10
  27.                     bank_ded = 0
  28.                     temp = current
  29.                     while temp.parent != None:
  30.                         add_value *= 0.5
  31.                         temp.value += add_value
  32.                         bank_ded += add_value
  33.                         Rothschild_Bank_Balance -= bank_ded
  34.                         temp = temp.parent
  35.                     return 1
  36.                 elif current.right == None:
  37.                     print("Add Under "+target)
  38.                     name = input('New member name: ')
  39.                     current.right = Node(name,current)
  40.                     Rothschild_Bank_Balance += 10
  41.                     add_value = 10
  42.                     bank_ded = 0
  43.                     temp = current
  44.                     while temp.parent != None:
  45.                         add_value *= 0.5
  46.                         temp.value += add_value
  47.                         bank_ded += add_value
  48.                         Rothschild_Bank_Balance -= bank_ded
  49.                         temp = temp.parent
  50.                     return 1
  51.                 else:
  52.                     print("Sorry Cant't Add More than 2")
  53.                     return
  54.             else:
  55.                 catch = addSubRoutine(current.left, target)
  56.                 if catch != 1:
  57.                     addSubRoutine(current.right, target)
  58.         addSubRoutine(self.member, under)
  59.  
  60.     def printMembers(self):
  61.         def printSubRoutine(current, num):
  62.             if current == None:
  63.                 return
  64.             spc = num*'---'
  65.             print(spc + 'Member -> ' + str(current.name) + ' Value -> ' + str(current.value))
  66.             printSubRoutine(current.left, num+1)
  67.             printSubRoutine(current.right, num+1)
  68.         printSubRoutine(self.member, 1)
  69.         print("Bank Account Main Balance : " + str(Rothschild_Bank_Balance))
  70.  
  71. def main():
  72.     x = Rothschild()
  73.     for i in range(5):
  74.         x.printMembers()
  75.         under = input("new will be under: ")
  76.         x.addMember(under)
  77.         os.system('cls')
  78.  
  79. main()
Add Comment
Please, Sign In to add comment