#VRATTESH ANAND
#CLASS-12 SECTION-B
#ROLL NO:35
#Q16:
#source code:
import pickle
def BINARY_11():
f=open("EMPFILE.DAT",'ab')
rec={}
for k in range(3):
eno=int(input("enter a code"))
name=input("enter name")
mob=int(input("enter mobile"))
dept=input("enter dept")
bsal=float(input("enter bsal"))
rec.update({eno:[name,mob,dept,bsal]})
pickle.dump(rec,f)
f.close()
import pickle
def BINARY_22():
f=open("EMPFILE.DAT",'rb')
TBSAL=0
THRA=0
try:
while True:
w=pickle.load(f)
for k,v in w.items():
hra=0.75*v[-1]
v+=[hra]
TBSAL+=v[-2]
THRA+=v[-1]
print(v)
print('TBSAL=',TBSAL,'THRA=',THRA)
except:
print("allrecordsdone")
f.close()
import pickle
def BINARY_33():
f=open("EMPFILE.DAT",'rb')
mo=int(input("enter mob"))
try:
while True:
w=pickle.load(f)
for k,v in w.items():
if v[1]==mo:
print(v)
else:
print("records do not matcch, move on")
except:
print("all records done")
f.close()
import pickle
def BINARY_44():
f=open("EMPFILE.DAT",'rb')
try:
while True:
w=pickle.load(f)
for k,v in w.items():
if v[2]=='INFO' or v[2]=='ELEC':
print(w)
else:
print("records do not matcch, move on")
except:
print("error")
f.close()
import pickle
def BINARY_55():
f=open("EMPFILE.DAT",'rb')
no=int(input("enter code"))
try:
while True:
w=pickle.load(f)
for k in w.items():
if k!=no:
print(k)
else:
print("records deleted")
except:
print("all records done")
f.close()
while True:
print("=========================================================
=menu===========================================================
=================================")
print("1.CREATE AND DISPLAY DATA OF EMPLOYEE DETAILS ")
print("2.DISPLAY RECORDS OF EMPLOYEE WITH HRA ")
print("3.DISPLAY AND SEARCH WITH MOB INPUTTED ")
print("4.DISPLAY AND SEARCH DEPARTMENT")
print("5.INPUT AND UPDATE WITH INPUTTING AND SEARCHING
EMPLOYEE CODE ")
print("0.EXIT FROM MENU")
ch=int(input("ENTER AN OPTION"))
if ch==1:
BINARY_11()
elif ch==2:
BINARY_22()
elif ch==3:
BINARY_33()
elif ch==4:
BINARY_44()
elif ch==5:
BINARY_55()
elif ch==0:
print("breaking from menu... BYE")
break
else:
print('object not found , OPTION not found')
#OUTPUT:
'''
Python 3.13.2 (tags/v3.13.2:4f8bb39, Feb 4 2025, 15:23:48) [MSC
v.1942 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more
information.
========= RESTART:
C:/Users/neels/Documents/PYTHON-FILES/question 16.py ========
==========================================================menu==
================================================================
==========================
1.CREATE AND DISPLAY DATA OF EMPLOYEE DETAILS
2.DISPLAY RECORDS OF EMPLOYEE WITH HRA
3.DISPLAY AND SEARCH WITH MOB INPUTTED
4.DISPLAY AND SEARCH DEPARTMENT
5.INPUT AND UPDATE WITH INPUTTING AND SEARCHING EMPLOYEE CODE
0.EXIT FROM MENU
ENTER AN OPTION1
enter a code1213
enter nameABHIJIT GUPTA
enter mobile98402162
enter deptINFO
enter bsal285000.0
enter a code1214
enter namePARTH KRISHNA
enter mobile55987643
enter deptMECH
enter bsal285000.0
enter a code1215
enter nameTRIPTI AHUJA
enter mobile68918274
enter deptELEC
enter bsal265000.0
==========================================================menu==
================================================================
==========================
1.CREATE AND DISPLAY DATA OF EMPLOYEE DETAILS
2.DISPLAY RECORDS OF EMPLOYEE WITH HRA
3.DISPLAY AND SEARCH WITH MOB INPUTTED
4.DISPLAY AND SEARCH DEPARTMENT
5.INPUT AND UPDATE WITH INPUTTING AND SEARCHING EMPLOYEE CODE
0.EXIT FROM MENU
ENTER AN OPTION2
['ADITYA JAIN', 99456972, 'CHEM', 220000.0, 165000.0]
['ALEX JOHN', 55012016, 'MECH', 240000.0, 180000.0]
['REETA SAXENA', 66442288, 'ELEC', 280000.0, 210000.0]
['NITU BHATIA', 55123765, 'INFO', 295000.0, 221250.0]
['ALOKA SINGH', 64192837, 'ADMIN', 240000.0, 180000.0]
['REENA GUPTA', 55876534, 'MECH', 225000.0, 168750.0]
['ASHIMA ROY', 98283761, 'ADMIN', 220000.0, 165000.0]
['PARASH KUMAR', 67913472, 'INFO', 285000.0, 213750.0]
['MOHD AKRAM', 92825010, 'ELEC', 265000.0, 198750.0]
['SUNILA RAHUL', 51904215, 'INFO', 275000.0, 206250.0]
['VIKASH MALHOTRA', 69401238, 'MECH', 250000.0, 187500.0]
['PRIYANKA SINHA', 97901256, 'CHEM', 260000.0, 195000.0]
['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0, 213750.0]
['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0, 213750.0]
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0, 198750.0]
['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0, 213750.0]
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0, 198750.0]
['PARTH KRISHNA', 55987643, 'MECH', 285000.0, 213750.0]
['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0, 213750.0]
['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0, 213750.0]
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0, 198750.0]
['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0, 213750.0]
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0, 198750.0]
['PARTH KRISHNA', 55987643, 'MECH', 285000.0, 213750.0]
['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0, 213750.0]
['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0, 213750.0]
['PARTH KRISHNA', 55987643, 'MECH', 285000.0, 213750.0]
['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0, 213750.0]
['PARTH KRISHNA', 55987643, 'MECH', 285000.0, 213750.0]
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0, 198750.0]
allrecordsdone
==========================================================menu==
================================================================
==========================
1.CREATE AND DISPLAY DATA OF EMPLOYEE DETAILS
2.DISPLAY RECORDS OF EMPLOYEE WITH HRA
3.DISPLAY AND SEARCH WITH MOB INPUTTED
4.DISPLAY AND SEARCH DEPARTMENT
5.INPUT AND UPDATE WITH INPUTTING AND SEARCHING EMPLOYEE CODE
0.EXIT FROM MENU
ENTER AN OPTION3
enter mob12345678
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
all records done
==========================================================menu==
================================================================
==========================
1.CREATE AND DISPLAY DATA OF EMPLOYEE DETAILS
2.DISPLAY RECORDS OF EMPLOYEE WITH HRA
3.DISPLAY AND SEARCH WITH MOB INPUTTED
4.DISPLAY AND SEARCH DEPARTMENT
5.INPUT AND UPDATE WITH INPUTTING AND SEARCHING EMPLOYEE CODE
0.EXIT FROM MENU
ENTER AN OPTION4
records do not matcch, move on
records do not matcch, move on
{1203: ['REETA SAXENA', 66442288, 'ELEC', 280000.0]}
{1204: ['NITU BHATIA', 55123765, 'INFO', 295000.0]}
records do not matcch, move on
records do not matcch, move on
records do not matcch, move on
{1208: ['PARASH KUMAR', 67913472, 'INFO', 285000.0]}
{1209: ['MOHD AKRAM', 92825010, 'ELEC', 265000.0]}
{1210: ['SUNILA RAHUL', 51904215, 'INFO', 275000.0]}
records do not matcch, move on
records do not matcch, move on
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0]}
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0]}
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0]}
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0], 1215: ['PARTH
KRISHNA', 55987643, 'MECH', 285000.0]}
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0], 1215: ['PARTH
KRISHNA', 55987643, 'MECH', 285000.0]}
records do not matcch, move on
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0]}
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0]}
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0]}
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0], 1215: ['PARTH
KRISHNA', 55987643, 'MECH', 285000.0]}
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0], 1215: ['PARTH
KRISHNA', 55987643, 'MECH', 285000.0]}
records do not matcch, move on
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0]}
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['PARTH KRISHNA', 55987643, 'MECH', 285000.0]}
records do not matcch, move on
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['PARTH KRISHNA', 55987643, 'MECH', 285000.0], 1215: ['TRIPTI
AHUJA', 68918274, 'ELEC', 265000.0]}
records do not matcch, move on
{1213: ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0], 1214:
['PARTH KRISHNA', 55987643, 'MECH', 285000.0], 1215: ['TRIPTI
AHUJA', 68918274, 'ELEC', 265000.0]}
error
==========================================================menu==
================================================================
==========================
1.CREATE AND DISPLAY DATA OF EMPLOYEE DETAILS
2.DISPLAY RECORDS OF EMPLOYEE WITH HRA
3.DISPLAY AND SEARCH WITH MOB INPUTTED
4.DISPLAY AND SEARCH DEPARTMENT
5.INPUT AND UPDATE WITH INPUTTING AND SEARCHING EMPLOYEE CODE
0.EXIT FROM MENU
ENTER AN OPTION5
enter code12345
(1201, ['ADITYA JAIN', 99456972, 'CHEM', 220000.0])
(1202, ['ALEX JOHN', 55012016, 'MECH', 240000.0])
(1203, ['REETA SAXENA', 66442288, 'ELEC', 280000.0])
(1204, ['NITU BHATIA', 55123765, 'INFO', 295000.0])
(1205, ['ALOKA SINGH', 64192837, 'ADMIN', 240000.0])
(1206, ['REENA GUPTA', 55876534, 'MECH', 225000.0])
(1207, ['ASHIMA ROY', 98283761, 'ADMIN', 220000.0])
(1208, ['PARASH KUMAR', 67913472, 'INFO', 285000.0])
(1209, ['MOHD AKRAM', 92825010, 'ELEC', 265000.0])
(1210, ['SUNILA RAHUL', 51904215, 'INFO', 275000.0])
(1211, ['VIKASH MALHOTRA', 69401238, 'MECH', 250000.0])
(1212, ['PRIYANKA SINHA', 97901256, 'CHEM', 260000.0])
(1213, ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0])
(1213, ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0])
(1214, ['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0])
(1213, ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0])
(1214, ['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0])
(1215, ['PARTH KRISHNA', 55987643, 'MECH', 285000.0])
(1213, ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0])
(1213, ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0])
(1214, ['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0])
(1213, ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0])
(1214, ['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0])
(1215, ['PARTH KRISHNA', 55987643, 'MECH', 285000.0])
(1213, ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0])
(1213, ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0])
(1214, ['PARTH KRISHNA', 55987643, 'MECH', 285000.0])
(1213, ['ABHIJIT GUPTA', 98402162, 'INFO', 285000.0])
(1214, ['PARTH KRISHNA', 55987643, 'MECH', 285000.0])
(1215, ['TRIPTI AHUJA', 68918274, 'ELEC', 265000.0])
all records done
==========================================================menu==
================================================================
==========================
1.CREATE AND DISPLAY DATA OF EMPLOYEE DETAILS
2.DISPLAY RECORDS OF EMPLOYEE WITH HRA
3.DISPLAY AND SEARCH WITH MOB INPUTTED
4.DISPLAY AND SEARCH DEPARTMENT
5.INPUT AND UPDATE WITH INPUTTING AND SEARCHING EMPLOYEE CODE
0.EXIT FROM MENU
ENTER AN OPTION0
breaking from menu... BYE
'''