Skip to main content

#DICTIONARY PROJECT SOLUTION

 #DICTIONARY PROJECT


d = {}

n = int(input("Enter no. of employees: "))


for i in range(n):

        e_no = input("Enter employee number: ")

        name = input("Enter name: ")

        basic = float(input("Enter base salary: "))


        hra = 8*basic/100

        da = 5*basic/100

        pf = 10*basic/100

        netsal = basic+hra+da-pf


        d[e_no] = [name, basic, hra, da, pf, netsal]


while True:

    print(f"\n{d}\n")

    c = input("     ACTIONS\n1. Find net salary\n2. Find max salary\n3. Find whose basic salary is over 5000\n4. Assign respective designations\n5. Count employees in catergory\n6. Quit\nChoose your action: ")

    co = 0

    if c == "1":

        e = input("Enter employee number to find net salary: ")

        if e in d:

            print(f"Net salary of employee {e} is {d[e][5]}")


    elif c == "2":

        max = 0

        for i in d:

            if d[i][5] > max:

                max = d[i][5]

                emp = d[i]


        print(f"Max salary found is {max} of employee {emp}")


    elif c == "3":

        emps = []

        for i in d:

            if d[i][1] > 5000.0:

                emps += list(i)


        print("Employees ", end = "")


        for i in emps:

            if i != emps[-1]:

                print(f"{i}, ", end="")


            else:

                print(i, end = "")

        print(" have basic salary over 5000.")


    elif c == "4":

        for i in d:

            if d[i][5] >= 50000:

                d[i] += list("Manager")


            elif 10000 <= d[i][5] < 50000:

                d[i] += list("Executive")


            else:

                d[i] += list("Clerk")



    elif c == "5":

        cat = input("Choose category (M/E/C): ")


        for i in d:

            if d[i][6][0].lower() == cat.lower():

                co += 1


        print(f"There are {co} many of those employees.")


    elif c == "6":

        quit()


    else:

        print("Invalid Choice. Try Again.")

Comments