VIDYA DEVI JINDAL SCHOOL
KOSI KALAN
COMPUTER SCIENCE (PYTHON) 083
C.B.S.E. BOARD PRAC. RECORD FILE
A.I.S.S.C.E. – 2025-26
by Unknown Author is licensed
under
SUBMITTED TO SUBMITTED BY
RAHUL TIWARI --------------------------
PGT (COMPUTER SCIENCE) --------------------------
--------------------------
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 1
INDEX
Sno Program Category Program /Topic Page No Signature
Write a python program to input marks
for 5 students of their 3 subjects using
list. Calculate and store every student
1 LIST
total, percentage, grade and store in
separate list.
Write a python program to input marks
for 5 students of their 3 subjects using
tuple. Calculate and store every student
2 TUPLE total, percentage, grade and store in
separate tuple. Arrange tuple record as
per their percentage in ascending order.
Create nested dictionary of 5 students
of their 3 subjects marks in which
subject as key marks as value on
student name as key. Calculate total
3 DICTIONARY and percentage of each and every
student and add in different dictionary
as nested dictionary on student name as
key.
Write stack program using function to
4 STACK show operation of push, pop and display
Write a python program to display
5 records from emp table whose deptno
entered by user
Write a python program to display
6 records from emp table whose deptno
and job entered by user
Write a python program to update and
display records from emp table whose
7 INTERFACE PYTHON WITH deptno entered by user and perform
MYSQL PROGRAMS ON updation in their salary with increment
EMP TABLE BASIS of 10%
Write a python program to insert new
8 record in table emp
Write a python program to remove
9 record from table emp whose empno
and empname entered by user.
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 2
Write a python program to read and
count all words from file [Link] which
10
are started with vowel
Write python program to count how
PYTHON PROGRAM ON many lines of file [Link] start with ‘W’
11 TEXT FILE HANDLING or ‘w’
Write a python program to count how
12 many line ends with ‘.’ In file [Link].
Write a python program to display ‘-‘ at
13 the place of vowels in file [Link]
14 Write a python program to display
hardwork at the place of work
15 Write a python program to change small
case letters into capital and capital into
small from file [Link] to [Link]
PYTHON BINARY FILE HANDLING
PROGRAM TO PERFORM
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
16 BINARY FILE HANDLING 4. UPDATE RECORD
5. COPY RECORD
6. RANDOM ACCESS RECORD
7. COUNT RECORD
8. DELETION OF RECORD
9. APPEND RECORD
PYTHON CSV FILE HANDLING
PROGRAM TO PERFORM
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
17 CSV FILE HANDLING 4. UPDATE RECORD
5. COPY RECORD
6. RANDOM ACCESS RECORD
7. COUNT RECORD
8. DELETION OF RECORD
9. APPEND RECORD
18 CSV FILE HANDLING USE OF DELIMETER
19 CSV FILE HANDLING USE OF WITH LOOP
20 MYSQL COMMANDS & O/P
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 3
Q1.
Write a python program to input marks for 5 students of their 3 subjects using list.
Calculate and store every student total, percentage, grade and store in separate list.
s=[]
for i in range(5): #loop for 5 students
m=[]
print("Enter marks for student", i+1)
for j in range(3): #loop for 3 subjects marks
v=int(input("Enter marks"))
[Link](v) #append marks in list s
[Link](m) #append marks list in list m
record=[]
for i in s: #loop to fetch mark list from student list
t=0
for j in i: #fecth mark from mark list
t=t+j #to find total
p=t/300*100 #to find percentage
if(p>=75): #to find grade
g='A'
elif(p>=60):
g='B'
elif(p>=45):
g='C'
else:
g='FAIL'
[Link]([t,p,g]) #append total, per and grade in record list
for i in record: #to print record student wise
print(i)
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 4
OUTPUT OF PROGRAM 1-
Enter marks for student 1
Enter marks45
Enter marks45
Enter marks45
Enter marks for student 2
Enter marks67
Enter marks67
Enter marks67
Enter marks for student 3
Enter marks89
Enter marks89
Enter marks89
Enter marks for student 4
Enter marks67
Enter marks67
Enter marks67
Enter marks for student 5
Enter marks56
Enter marks56
Enter marks56
[135, 45.0, 'C']
[201, 67.0, 'B']
[267, 89.0, 'A']
[201, 67.0, 'B']
[168, 56.0, 'C’]
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 5
Q2-
Write a python program to input marks for 5 students of their 3 subjects using tuple.
Calculate and store every student total, percentage, grade and store in separate
tuple. Arrange tuple record as per their percentage in ascending order.
s=()
for i in range(5):#loop for 5 students
m=()
print("Enter marks for student", i+1)
for j in range(3):#loop for 3 subjects marks -
v=int(input("Enter marks")) m=m+
(v,)#append marks in tuple s
s=s+(m,)#append marks list in tuple m
record=()
for i in s:#loop to fetch mark list from student tuple
t=0
for j in i:#fecth mark
t=t+j #to find total
p=t/300*100#to find percentage
if(p>=75): #to find grade
g='A'
elif(p>=60):
g='B'
elif(p>=45):
g='C'
else:
g='FAIL'
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 6
record=record+((t,p,g),)#append total, per and grade in record tuple
per=[]
for i in record:#to fetch percentage from tuple and append in list per
[Link](i[1])
[Link]()#to perform sort on percentage on list per in ascending order
v=[]#list to add those percentage which are append in final list
final=()#tuple to store sorted record
for i in per:#to fetch percentage from list
if(i not in v):
for j in record:#to fetch record from tuple
if(i==j[1]):#compare per with fetch tuple per
final=final+(j,)#append in final tuple
[Link](i)
for i in final:#to print sorted tuple
print(i)
OUTPUT OF PROGRAM 2-
Enter marks for student 1
Enter marks67
Enter marks67
Enter marks67
Enter marks for student 2
Enter marks56
Enter marks56
Enter marks56
Enter marks for student 3
Enter marks63
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 7
Enter marks63
Enter marks63
Enter marks for student 4
Enter marks56
Enter marks56
Enter marks56
Enter marks for student 5
Enter marks45
Enter marks45
Enter marks45
(135, 45.0, 'C')
(168, 56.00000000000001, 'C')
(168, 56.00000000000001, 'C')
(189, 63.0, 'B')
(201, 67.0, 'B')
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 8
Q3-
Create nested dictionary of 5 students of their 3 subjects marks in which subject as
key marks as value on student name as key. Calculate total and percentage of each
and every student and add in different dictionary as nested dictionary on student
name as key.
s={}#dictionart
for i in range(5):#to input marks for 5 students
nm=input("Enter student name")#student name as key
m={}#to hold mark as nested dictionary
v=int(input("Enter marks of subject 1"))
m['s1']=v # First subject marks on key s1
v=int(input("Enter marks of subject 2"))
m['s2']=v # First subject marks on key s2
v=int(input("Enter marks of subject 2"))
m['s3']=v # First subject marks on key s3
s[nm]=m # m dictionary on nm key
final={} # dictionary to hold total and per of every student
for i in s: # to fetch marks dictionary of every student
t=0
for j in s[i]:
t=t+s[i][j]
p=t/300*100
final[i]={'t':t,'p':p} #to add total and percentage as dictionary in final
for i in final: # to print each dictionary record
print(i," ",final[i])
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 9
OUTPUT OF PROGRAM 3-
Enter student nameShivam
Enter marks of subject 156
Enter marks of subject 256
Enter marks of subject 256
Enter student nameAdarsh
Enter marks of subject 178
Enter marks of subject 278
Enter marks of subject 278
Enter student nameAbhinav
Enter marks of subject 162
Enter marks of subject 262
Enter marks of subject 262
Enter student nameAyush
Enter marks of subject 145
Enter marks of subject 245
Enter marks of subject 245
Enter student nameLalit
Enter marks of subject 160
Enter marks of subject 260
Enter marks of subject 260
Shivam {'t': 168, 'p': 56.0}
Adarsh {'t': 234, 'p': 78.0}
Abhinav {'t': 186, 'p': 62.0}
Ayush {'t': 135, 'p': 45.0}
Lalit {'t': 180, 'p': 60.0}
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 10
Q4. Write stack program using function to show operation of push, pop and display
def Push(s,v): #function to append value in stack
[Link](v)#push value in stack
top=len(s)-1 #rearrange location of top
def Pop(s): # function to pop value from stack
if (s==[]): # to check if stack is empty
return "Underflow"
else:
v=[Link]() #function to pop topmost value from stack
if (len(s)==0):#after pop is stack is empty
top=None
else:
top=len(s)-1
return v #to return popped value
def Peek(s):# function to return top most value of stack
if(s==[]): # to check if stack is empty
return "Underflow"
else:
top=len(s)-1 # place at top at top of stack
return s[top] # returnig top value
def Display(s):
if(s==[]):
print("Stack is empty")
else:
top=len(s)-1
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 11
print(s[top],"<-top")
for i in range(top-1,-1,-1): #to print all elements of stack
print(s[i])
# main
stk=[]
top=None
while (True):
print("STACK OPERATIONS")
print("1. PUSH")
print("2. POP")
print("3. PEEK")
print("4. DISPLAY STACK")
print("5. EXIT")
h=int(input("Enter your choice (1-5)"))
if (h==1):
v=int(input("Enter value"))
Push(stk,v)
elif (h==2):
v=Pop(stk)
if(v=="Underflow"):
print("Stack is empty")
else:
print("Popped value is ",v)
elif(h==3):
v=Peek(stk)
if(v=="Underflow"):
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 12
print("Stack is empty")
else:
print("Topmost value is ",v)
elif(h==4):
Display(stk)
elif(h==5):
break
else:
print("Sorry wrong choice")
OUTPUT OF PROGRAM 8-
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)1
Enter value11
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)1
Enter value12
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)1
Enter value13
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 13
Enter your choice (1-5)4
13 <-top
12
11
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)3
Topmost value is 13
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)2
Popped value is 13
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)2
Popped value is 12
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)4
11 <-top
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)2
Popped value is 11
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 14
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)4
Stack is empty
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)2
Stack is empty
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)3
Stack is empty
STACK OPERATIONS
1. PUSH
2. POP
3. PEEK
4. DISPLAY STACK
5. EXIT
Enter your choice (1-5)5
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 15
INTERFACE PYTHON WITH MYSQL PROGRAMS ON EMP
TABLE BASIS
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 16
Q5-
Write a python program to display records from emp table whose deptno entered by user
import [Link] as s
mycon=[Link](host="localhost", user="root", passwd="vdjs",database="emp")
if(mycon.is_connected()==False):
print("Error connecting to mysql")
cur=[Link]( )
n=int(input("Enter deptno"))
q="select * from emp where deptno={}".format(n)
[Link](q)
d=[Link]()
for i in d:
print(i)
[Link]()
OUTPUT OF PROGRAM12
Enter deptno20
(7566, 'joanes', 'manager', [Link](1987, 4, 2), Decimal('59500.00'), None, 20)
(7876, 'adams', '[Link]', [Link](1993, 1, 12), Decimal('28000.00'), None, 20)
(7934, 'miller', '[Link]', [Link](1998, 1, 23), Decimal('18000.00'), None, 20)
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 17
Q6-
Write a python program to display records from emp table whose deptno and job entered by
user
import [Link] as s
mycon=[Link](host="localhost", user="root", passwd="vdjs",database="emp")
if(mycon.is_connected()==False):
print("Error connecting to mysql")
cur=[Link]( )
n=int(input("Enter deptno"))
j=input("Enter job")
q="select * from emp where deptno={} and job='{}' ".format(n,j)
[Link](q)
d=[Link]()
for i in d:
print(i)
[Link]()
OUTPUT OF PROGRAM 13
Enter deptno30
Enter jobmanager
(7698, 'blake', 'manager', [Link](1984, 5, 1), Decimal('60000.00'), None, 30)
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 18
Q7-
Write a python program to update and display records from emp table whose deptno
entered by user and perform updation in their salary with increment of 10%
import [Link] as s
mycon=[Link](host="localhost", user="root", passwd="vdjs",database="emp")
if(mycon.is_connected()==False):
print("Error connecting to mysql")
cur=[Link]( )
n=int(input("Enter deptno"))
q="update emp set sal=sal+(sal*10/100) where deptno={}" .format(n)
[Link](q)
[Link]()
print("Rows affected:",[Link])
q="select * from emp where deptno={}".format(n)
[Link](q)
d=[Link]()
for i in d:
print(i)
[Link]()
OUTPUT OF PROGRAM 14
Enter deptno20
Rows affected: 3
(7566, 'joanes', 'manager', [Link](1987, 4, 2), Decimal('64147.55'), None, 20)
(7876, 'adams', '[Link]', [Link](1993, 1, 12), Decimal('30187.08'), None, 20)
(7934, 'miller', '[Link]', [Link](1998, 1, 23), Decimal('19405.98'), None, 20)
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 19
Q8-
Write a python program to insert new record in table emp
import [Link] as s
mycon=[Link](host="localhost", user="root", passwd="vdjs",database="emp")
if(mycon.is_connected()==False):
print("Error connecting to mysql")
cur=[Link]( )
a=int(input("Enter empno"))
b=input("Enter name")
c=input("Enter job")
d=input("Enter hiredate")
e=float(input("Enter salary"))
f=float(input("Enter comm"))
g=int(input("Enter deptno"))
q="insert into emp (empno,empname,job,hiredate,sal,comm,deptno) values({},'{}','{}','{}',{},{},
{})".format(a,b,c,d,e,f,g)
[Link](q)
[Link]()
print("Rows affected:",[Link])
q="select * from emp "
[Link](q)
d=[Link]()
for i in d:
print(i)
[Link]()
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 20
OUTPUT OF PROGRAM 15
Enter empno102
Enter nameAyush
Enter jobAnalyst
Enter hiredate2012-04-20
Enter salary56000
Enter comm5000
Enter deptno20
Rows affected: 1
(7839, 'king', 'president', [Link](1892, 11, 17), Decimal('80000.00'), None, 10)
(7698, 'blake', 'manager', [Link](1984, 5, 1), Decimal('60000.00'), None, 30)
(7782, 'clerk', 'manager', [Link](1987, 6, 9), Decimal('59000.00'), None, 10)
(7566, 'joanes', 'manager', [Link](1987, 4, 2), Decimal('64147.55'), None, 20)
(7654, 'martin', 'salesman', [Link](1989, 9, 28), Decimal('41000.00'), Decimal('1400.00'), 30)
(7499, 'allen', 'salesman', [Link](1989, 2, 20), Decimal('40000.00'), Decimal('300.00'), 30)
(7844, 'turner', 'salesman', [Link](1991, 9, 8), Decimal('35000.00'), Decimal('0.00'), 30)
(7900, 'james', '[Link]', [Link](1983, 12, 3), Decimal('39000.00'), None, 30)
(7521, 'ward', 'salesman', [Link](1984, 2, 22), Decimal('40000.00'), Decimal('500.00'), 30)
(7902, 'ford', 'analyst', [Link](1982, 2, 3), Decimal('65000.00'), None, None)
(7369, 'smith', '[Link]', [Link](1981, 12, 17), Decimal('45000.00'), None, None)
(7788, 'scott', 'analyst', [Link](1991, 12, 8), Decimal('59000.00'), None, 10)
(7876, 'adams', '[Link]', [Link](1993, 1, 12), Decimal('30187.08'), None, 20)
(7934, 'miller', '[Link]', [Link](1998, 1, 23), Decimal('19405.98'), None, 20)
(102, 'Ayush', 'Analyst', [Link](2012, 4, 20), Decimal('56000.00'), Decimal('5000.00'), 20)
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 21
Q9-
Write a python program to remove record from table emp whose empno and empname
entered by user.
import [Link] as s
mycon=[Link](host="localhost", user="root", passwd="vdjs",database="emp")
if(mycon.is_connected()==False):
print("Error connecting to mysql")
cur=[Link]( )
a=int(input("Enter empno"))
b=input("Enter name")
q="Delete from emp where empno={} and empname='{}'"
.format(a,b) [Link]()
print("Rows affected:",[Link])
q="select * from emp "
[Link](q)
d=[Link]()
for i in d:
print(i)
[Link]()
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 22
OUTPUT OF PROGRAM 16
Enter empno102
Enter nameAyush
Rows affected: 1
(7839, 'king', 'president', [Link](1892, 11, 17), Decimal('80000.00'), None, 10)
(7698, 'blake', 'manager', [Link](1984, 5, 1), Decimal('60000.00'), None, 30)
(7782, 'clerk', 'manager', [Link](1987, 6, 9), Decimal('59000.00'), None, 10)
(7566, 'joanes', 'manager', [Link](1987, 4, 2), Decimal('64147.55'), None, 20)
(7654, 'martin', 'salesman', [Link](1989, 9, 28), Decimal('41000.00'), Decimal('1400.00'), 30)
(7499, 'allen', 'salesman', [Link](1989, 2, 20), Decimal('40000.00'), Decimal('300.00'), 30)
(7844, 'turner', 'salesman', [Link](1991, 9, 8), Decimal('35000.00'), Decimal('0.00'), 30)
(7900, 'james', '[Link]', [Link](1983, 12, 3), Decimal('39000.00'), None, 30)
(7521, 'ward', 'salesman', [Link](1984, 2, 22), Decimal('40000.00'), Decimal('500.00'), 30)
(7902, 'ford', 'analyst', [Link](1982, 2, 3), Decimal('65000.00'), None, None)
(7369, 'smith', '[Link]', [Link](1981, 12, 17), Decimal('45000.00'), None, None)
(7788, 'scott', 'analyst', [Link](1991, 12, 8), Decimal('59000.00'), None, 10)
(7876, 'adams', '[Link]', [Link](1993, 1, 12), Decimal('30187.08'), None, 20)
(7934, 'miller', '[Link]', [Link](1998, 1, 23), Decimal('19405.98'), None, 20)
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 23
PYTHON PROGRAM ON TEXT FILE HANDLING
PROGRAM ON BASIS OF [Link]
We work, we try to be better
We work with full zest
But, why is that we just don't know any letter .
We still give our best .
We don't get luxury
We don't get
childhood But we still
work
Not for us, but for all the others .
Q10-
Write a python program to read and count all words from file [Link] which are started with
vowel
file=open('[Link]',"r")
s=[Link]()
v="aeiouAEIOU"
c=0
k=[Link]()
for i in k:
if i[0] in v:
c=c+1
print("Total words start with vowel",c)
[Link]()
OUTPUT OF PROGRAM 10
Total words start with vowel 6
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 24
Q11-
Write python program to count how many lines of file [Link] start with ‘W’ or ‘w’
file=open('[Link]',"r")
s=" "
c=0
while(s):
s=[Link]()
if(s!=''):
if(s[0] =='W' or s[0]=='w'):
c=c+1
print("Total lines start with W or w",c)
[Link]()
OUTPUT OF PROGRAM 11
Total lines start with W or w 5
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 25
Q12-
Write a python program to count how many line ends with ‘.’ In file [Link].
file=open('[Link]',"r")
s=" "
c=0
while(s):
s=[Link]()
if(s!=''):
s=[Link]()
if(s[-1] == '.'): #because at -1 '\n' is there
c=c+1
print("Total lines end with are",c)
[Link]()
OUTPUT OF PROGRAM 12
Total lines end with are 2
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 26
Q13-
Write a python program to display ‘-‘ at the place of vowels in file [Link]
file=open('[Link]',"r")
s=[Link]()
v="aeiouAEIOU"
p=’’
for i in s:
if i in v:
p=p+’-‘
else:
p=p+i
print(p)
[Link]()
OUTPUT OF PROGRAM 13
W- w-rk, w- try t- b-b-tt-r
W- w-rk w-th f-ll z-st
B-t, why -s th-t w- j-st d-n't kn-w -ny l-tt-r .
W- st-ll g-v- --r b-st.
W- d-n't g-tl-x-ry
W- d-n't g-tch-ldh--d
B-t w- st-llw-rk
N-t f-r -s, b-t f-r -ll th- -th-rs .
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 27
Q14-
Write a python program to display hard work at the place of work in file [Link]
file=open('[Link]',"r")
s=[Link]()
s=[Link](‘work’,’hard work’)
print(s)
[Link]()
OUTPUT OF PROGRAM 14
We hard work, we try to be better We
hard work with full zest
But, why is that we just don't know any letter .
We still give our best .
We don't get luxury
We don't get
childhood But we still
hard work
Not for us, but for all the others .
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 28
Q15-
Write a python program to change small case letters into capital and capital into small from
file [Link] to [Link]
rd=open('[Link]',"r")
rw=open('[Link]',"w")
s=[Link]()
for i in s:
if [Link]():
i=[Link]()
elif [Link]():
i=[Link]()
else:
pass
[Link](i)
[Link]()
[Link]()
OUTPUT OF PROGRAM 15
wE WORK, WE TRY TO BE BETTER
wE WORK WITH FULL ZEST
bUT, WHY IS THAT WE JUST DON'T KNOW ANY LETTER .
wE STILL GIVE OUR BEST .
wE DON'T GET LUXURY
wE DON'T GET CHILDHOOD
bUT WE STILL WORK
nOT FOR US, BUT FOR ALL THE OTHERS .
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 29
PYTHON BINARY FILE HANDLING PROGRAM TO PERFORM
Q16.
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. RANDOM ACCESS RECORD
7. COUNT RECORD
8. DELETION OF RECORD
9. APPEND RECORD
import pickle
import os
#Student record to write
def writefile():
wr=open("d:\\[Link]","wb")
d={}
while True:
d['no']=int(input("Enter student no"))
d['name']=input("Enter student name")
d['per']=float(input("Enter percentage"))
[Link](d,wr)
h=input("Want to write more")
if h!='y' and h!='Y':
break
[Link]()
#To append new record at the bottom of binary file
def appendrecord():
wr=open("d:\\[Link]","ab")
d={}
while True:
d['no']=int(input("Enter student no"))
d['name']=input("Enter student name")
d['per']=float(input("Enter percentage"))
[Link](d,wr)
h=input("Want to write more")
if h!='y' and h!='Y':
break
[Link]()
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 30
#Student record read and display
def readfile():
rd=open("d:\\[Link]","rb")
d={}
try:
print([Link](),end=" ")
while True:
d=[Link](rd)
print(d)
print([Link](),end=" ")
except:
[Link]()
#Display record 50 to 80
def searchper():
rd=open("d:\\[Link]","rb")
d={}
try:
while True:
d=[Link](rd)
if d['per']>=50 and d['per']<=80:
print(d)
except:
[Link]()
#Copy record whose percentage below 80
def copyrecord():
rd=open("d:\\[Link]","rb")
wr=open("d:\\[Link]","wb")
d={}
try:
while True:
d=[Link](rd)
if d['per']<80:
[Link](d,wr)
except:
[Link]()
[Link]()
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 31
#Display file copy record
def readcopyrec():
rd=open("d:\\[Link]","rb")
d={}
try:
while True:
d=[Link](rd)
print(d)
except:
[Link]()
#Deletion of record below 80
def delrecord():
rd=open("d:\\[Link]","rb")
wr=open("d:\\[Link]","wb")
d={}
try:
while True:
d=[Link](rd)
if d['per']>=80:
[Link](d,wr)
except:
[Link]()
[Link]()
[Link]("d:\\[Link]")
[Link]("d:\\[Link]","d:\\[Link]")
#updation of record on student name
def updaterecord():
rw=open("d:\\[Link]","rb+")
d={}
try:
m=input("Enter name which you want to modify")
while True:
p=[Link]()
d=[Link](rw)
if d['name']==m:
s=input("Enter new name")
d['name']=s
[Link](p)
[Link](d,rw)
except:
[Link]()
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 32
#random access of record using seek() and tell()
def randomaccess():
rd=open("d:\\[Link]","rb")
d={}
[Link](245)
print([Link](),end=" ")
d=[Link](rd)
print(d)
print([Link](),end=" ")
[Link]()
#count no of records whose percentage above 80
def countrecord():
rd=open("d:\\[Link]","rb")
d={}
c=0
try:
while True:
d=[Link](rd)
if d['per']>80:
c=c+1
except:
print("Total record ",c)
[Link]()
# __main__ section
while True:
print("1. WRITE FILE ")
print("2. READ FILE ")
print("3. SEARCH PERCENTAGE")
print("4. UPDATE RECORD")
print("5. COPY RECORD")
print("6. RANDOM ACCESS RECORD")
print("7. COUNT RECORD")
print("8. DELETION OF RECORD")
print("9. APPEND RECORD")
h=int(input("Enter your choice"))
if h==1:
writefile()
elif h==2:
readfile()
elif h==3:
searchper()
elif h==4:
updaterecord()
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 33
elif h==5:
copyrecord()
readcopyrec()
elif h==6:
randomaccess()
elif h==7:
countrecord()
elif h==8:
delrecord()
elif h==9:
appendrecord()
elif h>9:
break
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 34
OUTPUT
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. RANDOM ACCESS RECORD
7. COUNT RECORD
8. DELETION OF RECORD
9. APPEND RECORD
Enter your choice1
Enter student no1
Enter student nameravi
Enter percentage98.9
Want to write morey
Enter student no2
Enter student nameakash
Enter percentage56.7
Want to write morey
Enter student no3
Enter student nameshubham
Enter percentage78
Want to write morey
Enter student no4
Enter student nameraghav
Enter percentage65
Want to write morey
Enter student no5
Enter student namevaishnav
Enter percentage83
Want to write moren
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. RANDOM ACCESS RECORD
7. COUNT RECORD
8. DELETION OF RECORD
9. APPEND RECORD
Enter your choice2
0 {'no': 1, 'name': 'ravi', 'per': 98.9}
52 {'no': 2, 'name': 'akash', 'per': 56.7}
105 {'no': 3, 'name': 'shubham', 'per': 78.0}
160 {'no': 4, 'name': 'raghav', 'per': 65.0}
214 {'no': 5, 'name': 'vaishnav', 'per': 83.0}
270
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 35
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. RANDOM ACCESS RECORD
7. COUNT RECORD
8. DELETION OF RECORD
9. APPEND RECORD
Enter your choice9
Enter student no6
Enter student namepiyush
Enter percentage34
Want to write morey
Enter student no7
Enter student nameronak
Enter percentage23
Want to write moren
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. RANDOM ACCESS RECORD
7. COUNT RECORD
8. DELETION OF RECORD
9. APPEND RECORD
Enter your choice2
0 {'no': 1, 'name': 'ravi', 'per': 98.9}
52 {'no': 2, 'name': 'akash', 'per': 56.7}
105 {'no': 3, 'name': 'shubham', 'per': 78.0}
160 {'no': 4, 'name': 'raghav', 'per': 65.0}
214 {'no': 5, 'name': 'vaishnav', 'per': 83.0}
270 {'no': 6, 'name': 'piyush', 'per': 34.0}
324 {'no': 7, 'name': 'ronak', 'per': 23.0}
377
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 36
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. RANDOM ACCESS RECORD
7. COUNT RECORD
8. DELETION OF RECORD
9. APPEND RECORD
Enter your choice3
{'no': 2, 'name': 'akash', 'per': 56.7}
{'no': 3, 'name': 'shubham', 'per': 78.0}
{'no': 4, 'name': 'raghav', 'per': 65.0}
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. RANDOM ACCESS RECORD
7. COUNT RECORD
8. DELETION OF RECORD
9. APPEND RECORD
Enter your choice7
Total record 2
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 37
Q17. CSV FILE HANDLING PROGRAM
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. COUNT RECORD
7. DELETION OF RECORD
8. APPEND RECORD
9. AVERAGE
import csv
import os
#Student record to write
def writefile():
wr=open("d:\\[Link]","w")
csvwr=[Link](wr) #creation csv writer
[Link](['No','NAME','PER'])
while True:
no=int(input("Enter student no"))
name=input("Enter student name")
per=float(input("Enter percentage"))
d=[no,name,per] #appending elements in list
[Link](d) #writting list using csvwr writer
h=input("Want to write more")
if h!='y' and h!='Y': break
[Link]()
def appendrecord():
wr=open("d:\\[Link]","a")
csvwr=[Link](wr) #creation csv writer
while True:
no=int(input("Enter student no"))
name=input("Enter student name")
per=float(input("Enter percentage"))
d=[no,name,per] #appending elements in list
[Link](d) #writting list using csvwr writer
h=input("Want to write more")
if h!='y' and h!='Y':
break
[Link]()
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 38
#Student record read and display
def readfile():
rd=open("d:\\[Link]","r",newline='\r\n')
csvrd=[Link](rd)
for i in csvrd:
print(i) #it will read in list manner
[Link]()
#Display record 50 to 80
def searchper():
rd=open("d:\\[Link]","r",newline='\r\n')
csvrd=[Link](rd)
for i in csvrd:
if i[2]!='PER':
if float(i[2])>=50 and float(i[2])<=80 :
print(i)
[Link]()
#Copy record whose percentage below 80
def copyrecord():
rd=open("d:\\[Link]","r",newline='\r\n')
csvrd=[Link](rd)
wr=open("d:\\[Link]","w")
csvwr=[Link](wr) #creation csv writer
[Link](['No','NAME','PER'])
for i in csvrd:
if i[2]!='PER':
if float(i[2])<80 :
d=[i[0],i[1],i[2]]
[Link](d) #writting in [Link] whose per<80
[Link]()
[Link]()
#Display file copy record
def readcopyrec():
rd=open("d:\\[Link]","r")
csvrd=[Link](rd)
for i in csvrd:
print(i) #it will read in list manner from [Link]
[Link]()
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 39
#Deletion of record below 80
def delrecord():
rd=open("d:\\[Link]","r",newline='\r\n')
csvrd=[Link](rd)
wr=open("d:\\[Link]","w")
csvwr=[Link](wr) #creation csv writer
[Link](['No','NAME','PER'])
for i in csvrd:
if i[2]!='PER':
if float(i[2])>=80:
d=[i[0],i[1],i[2]]
[Link](d) #writting in [Link] whose per>=80
[Link]()
[Link]()
[Link]("d:\\[Link]")
[Link]("d:\\[Link]","d:\\[Link]")
#updation of record on student name
def updaterecord():
rd=open("d:\\[Link]","r",newline='\r\n')
csvrd=[Link](rd)
wr=open("d:\\[Link]","w")
csvwr=[Link](wr) #creation csv writer
[Link](['No','NAME','PER'])
m=input("Enter name wants to search")
for i in csvrd:
if i[1]==m :
np=float(input("Enter new percentage")) #new per
d=[i[0],i[1],np]
[Link](d) #writting in [Link]
else:
[Link](i)
[Link]()
[Link]()
[Link]("d:\\[Link]")
[Link]("d:\\[Link]","d:\\[Link]")
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 40
#count no of records whose percentage above 80
def countrecord():
rd=open("d:\\[Link]","r",newline='\r\n')
csvrd=[Link](rd)
c=0
for i in csvrd:
if i[2]!='PER':
if float(i[2])>80 :
c=c+1
print(c)
[Link]()
#Find average of students whose percentage is above 80
def average():
rd=open("d:\\[Link]","r",newline='\r\n')
csvrd=[Link](rd)
s=0
c=0
for i in csvrd:
if i[2]!='PER':
if float(i[2])>80) :
c=c+1
s=s+float(i[2])
print(s/c)
[Link]()
while True:
print("1. WRITE FILE ")
print("2. READ FILE ")
print("3. SEARCH PERCENTAGE")
print("4. UPDATE RECORD")
print("5. COPY RECORD")
print("6. COUNT RECORD")
print("7. DELETION OF RECORD")
print("8. APPEND RECORD")
print("9. AVERAGE")
h=int(input("Enter your choice"))
if h==1:
writefile()
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 41
elif h==2:
readfile()
elif h==3:
searchper()
elif h==4:
updaterecord()
elif h==5:
copyrecord()
readcopyrec()
elif h==6:
countrecord()
elif h==7:
delrecord()
elif h==8:
appendrecord()
elif h==9:
average()
if h>9:
break
OUTPUT
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. COUNT RECORD
7. DELETION OF RECORD
8. APPEND RECORD
9. AVERAGE
Enter your choice1
Enter student no1
Enter student nameravi
Enter percentage87
Want to write morey
Enter student no2
Enter student nameadarsh
Enter percentage67
Want to write morey
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 42
Enter student no3
Enter student nameshubham
Enter percentage93
Want to write morey
Enter student no4
Enter student nameayush
Enter percentage45
Want to write morey
Enter student no5
Enter student nameshruti
Enter percentage76
Want to write moren
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. COUNT RECORD
7. DELETION OF RECORD
8. APPEND RECORD
9. AVERAGE
Enter your choice2
['No', 'NAME', 'PER']
['1', 'ravi', '87.0']
['2', 'adarsh', '67.0']
['3', 'shubham', '93.0']
['4', 'ayush', '45.0']
['5', 'shruti', '76.0']
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. COUNT RECORD
7. DELETION OF RECORD
8. APPEND RECORD
9. AVERAGE
Enter your choice3
['3', 'shubham', '93.0']
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 43
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. COUNT RECORD
7. DELETION OF RECORD
8. APPEND RECORD
9. AVERAGE
Enter your choice6
2
1. WRITE FILE
2. READ FILE
3. SEARCH PERCENTAGE
4. UPDATE RECORD
5. COPY RECORD
6. COUNT RECORD
7. DELETION OF RECORD
8. APPEND RECORD
9. AVERAGE
Enter your choice9
90.0
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 44
Q18. Use of delimeter in CSV file
#Student record to write
def writefile():
wr=open("d:\\[Link]","w")
csvwr=[Link](wr,delimiter='|') #creation csv writer
[Link](['No','NAME','PER'])
while True:
no=int(input("Enter student no"))
name=input("Enter student name")
per=float(input("Enter percentage"))
d=[no,name,per] #appending elements in list
[Link](d) #writting list using csvwr writer
h=input("Want to write more")
if h!='y' and h!='Y':
break
[Link]()
#Student record read and display
def readfile():
rd=open("d:\\[Link]","r",newline='\r\n')
csvrd=[Link](rd) #need to place delimiter because used in writting
for i in csvrd:
print(i) #it will read in list
[Link]()
while True:
print("1. WRITE FILE ")
print("2. READ FILE ")
h=int(input("Enter your choice")) if
h==1:
writefile()
elif h==2:
readfile()
if h>2:
break
OUTPUT
1. WRITE FILE
2. READ FILE
Enter your choice1
Enter student no1
Enter student namerakesh
Enter percentage67.8
Want to write morey
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 45
Enter student no2
Enter student nameshubham
Enter percentage90
Want to write moren
1. WRITE FILE
2. READ FILE
Enter your choice2
['No|NAME|PER']
['1|rakesh|67.8']
['2|shubham|90.0']
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 46
Q19. Use of with loop
#USE OF WITH LOOP WHILE READING
import csv
#Student record to write
def writefile():
wr=open("d:\\[Link]","w")
csvwr=[Link](wr) #creation csv writer
[Link](['No','NAME','PER'])
while True:
no=int(input("Enter student no"))
name=input("Enter student name")
per=float(input("Enter percentage"))
d=[no,name,per] #appending elements in list
[Link](d) #writting list using csvwr writer
h=input("Want to write more")
if h!='y' and h!='Y':
break
[Link]()
#Student record read and display
def readfile():
with open("d:\\[Link]","r",newline='\r\n')as rd:
csvrd=[Link](rd)
for i in csvrd:
print(i) #it will read in list manner [Link]()
while True:
print("1. WRITE FILE ")
print("2. READ FILE ")
h=int(input("Enter your choice")) if
h==1:
writefile()
elif h==2:
readfile()
if h>2:
break
OUTPUT
1. WRITE FILE
2. READ FILE
Enter your choice1
Enter student no1
Enter student namerakesh
Enter percentage67.8
Want to write morey
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 47
Enter student no2
Enter student nameshubham
Enter percentage90
Want to write moren
1. WRITE FILE
2. READ FILE
Enter your choice2
['No', 'NAME', 'PER']
['1', 'rakesh', '67.8']
['2', 'shubham', '90.0']
VIDYA DEVI JINDAL SCHOOL PRACTICAL FILE 2025-26 Page 48