PA Programming Solution - 13 February 2020

PA Programming Solution - 13 February 2020



​Q1. Take acc number, holder name, balance as input.Add deposit amount as input.Request a withdrawal. If balance after withdrawal is more than 1000... Allow it... Else don't.

​Solution:

class Account():
    def _init_(self,id1,name,balance):
        self.id1=id1
        self.name=name
        self.balance=balance
    def after_deposited(self,deposit_amt):
        self.balance+=deposit_amt
        return self.balance
    def after_withdraw(self,withdraw_amt):
        if  (self.balance-withdraw_amt)>=1000:
            self.balance-=withdraw_amt
            return 1
        else:
            return 0
id1=int(input())
name=input()
balance=int(input())
obj=Account(id1,name,balance)
deposit_amt=int(input())
withdraw_amt=int(input())
print(obj.after_deposited(deposit_amt))
res=obj.after_withdraw(withdraw_amt)
if res==1:
    print("AVAILABLE_BALANCE:",obj.balance)
else:
    print("Insufficient_Balance")




Q2. Take list of employees (id, name and leaves (el, sl, cl).For a particular employee... Demand a leave from available leave types...
Return available leaves...If available is greater than or equal to demand, return 'Granted', else 'Rejected'.


Solution:

class Employee:
    def _init_(self,emp_no,emp_name,leaves):
        self.emp_no=emp_no
        self.emp_name=emp_name
        self.leaves=leaves
class Company:
    def _init_(self,company_name,emps):
        self.company_name=company_name
        self.emps=emps
    def display_leave(self,emp_no1,Ltype):
        for i in self.emps:
            if i.emp_no==emp_no1:
                return i.leaves[Ltype]
    def Number_of_leaves(self,emp_no1,Ltype,nol):
        for i in self.emps:
            if i.emp_no==emp_no1:
                if i.leaves[Ltype]>=nol:
                    return "Granted"
                else:
                    return "Rejected"



if __name__=='___main__':
    n=int(input())
    emps=[]
   c=Company("ABC",emps)
   leaves={}
   for i in range(n):
       emp_no=int(input())
       emp_name=input()
       leaves["CL"]=int(input())
       leaves["EL"]=int(input())
      leaves["SL"]=int(input())
      c.emps.append(Employee(emp_no,emp_name,leaves))
   emp_no1=int(input())
   Ltype=input()
   nol=int(input())
  print(c.display_leave(emp_no1,Ltype))
  print(c.Number_of_leaves(emp_no1,Ltype,nol))

Comments