0% found this document useful (0 votes)
65 views46 pages

Cbse Computer Science Practical File

Uploaded by

jitinsain270
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views46 pages

Cbse Computer Science Practical File

Uploaded by

jitinsain270
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

Part A – Python Programs

Chapter 1 - Python Revision Tour


1. Write a program to find the sum and average of list in python.
Code:
#Creating list with user defined list
#Declare an empty list
l=[]

while True:
#Input through user
n=int(input("Enter no. to add into the list:"))
#Add element into the end of list
l.append(n)

#Condition to break loop by pressing X


ch=input("Press 'X' to stop:")
if ch in 'xX':
break

#Variable for sum and length


s=0
n=len(l)
for i in l:
#Computing Sum of elements
s+=i

#Computing average
avg=s/n

#Output
print("The list is:",l)
print("Sum is:",s)
print(f"Average is:{avg:.2f}")

1
Output:

2
2. Write a program to remove duplicates from the dictionary
Code:
#A program to remove dulicates from the dictionary

#Creating empty dictionary


d={}
#Ask user to enter number of key:value pairs
n=int(input("Enter no. of elements:"))

for i in range(n):
k=input("Enter Key:")
v=input("Enter value:")
d[k]=v

#Declare empty dictionary to store unique key-value pairs


uni_dict={}

#Traverse dictionary to remove duplicates and store into unique dictionary


for k in d:
val=d[k]
if val not in uni_dict.values():
uni_dict[k]=val

#Output
print("Dictionary After removing duplicates:",uni_dict)
Output:

3
Chapter 2 – Working with functions
3. Write a program to define a function to accept two integers m and
n respectively as argument and display prime numbers between
them.
Code:
#A program to display prime numbers from a range
# Function to check and display prime in the range
def prime_m_to_n(m,n):
for i in range(m, n + 1):
# all prime numbers are greater than 1
if i > 1:
for j in range(2, i):
if (i % j) == 0:
break
else:
print(i, end=' ')

# Taking input for m and n


m = int(input("Enter the value of m: "))
n = int(input("Enter the value of n: "))

# Calling the function


prime_m_to_n(m, n)
Output:

4
4. Write a program to compute interest based on different arguments
given in the function.
Code:
# Function to calculate interest
def compute_int(pri, r=5, t=1, comp=False):

"""Calculates simple or compound interest.


Parameters:
pri: Principal amount
r : Interest rate (default is 5%)
t: Time period in years (default is 1 year)
comp : If True, calculates compound interest, otherwise simple interest
(default is False)"""

if comp:
"""Compound Interest formula: A = P(1 + r/n)^(nt),
where n = 1 for annual compounding"""
amt = pri * (1 + r / 100) ** t
i = amt - pri
else:
# Simple Interest formula: SI = (P * R * T) / 100
i = (pri * r * t) / 100
return i

# Testing the function with various argument combinations


p=int(input("Enter Principle:"))
r=float(input("Enter custom rate:"))
t=float(input("Enter time:"))

# Case 1: Only principal provided, default rate and time


print("Interest (Simple, default):", compute_int(1000))

# Case 2: Principal and rate provided, default time


print("Interest (Simple, custom rate):", compute_int(p, r))

5
# Case 3: Principal, rate, and time provided
print("Interest (Simple, custom rate and time):", compute_int(p, r, t))

# Case 4: Compound interest, with custom rate and time


print(f"Interest (Compound, custom rate and time): {compute_int(p, r, t,
True):.2f}")
Output:

6
5. Write a program to largest element in a list using a function. Pass
list object as argument.
Code:
# Function to find the largest element in a list
def find_largest(l):
# Check the list is empty or not
if not l:
# Return None if the list is empty
return None

# Assume the first element is the large


large = l[0]
for i in l:
# Check if other element than first is large
if i > large:
# Update the largest if a bigger number is found
large = i
return large

# Taking input as a list


lst = eval(input("Enter list as input:"))

# Calling the function and printing the result


large_ele = find_largest(lst)
if large_ele is not None:
print(f"The largest element in the list is: {large_ele}")
else:
print("The list is empty.")
Output:

7
6. Write a program to count the number of vowels in passed string to
the function.
Code:
# A program to count the number of vowels in passed string to the function
def count_vowels(s):
# Define a set of vowels (both lowercase and uppercase)
vowels = "aeiouAEIOU"

# Initialize a counter variable


count = 0

# Loop through each character in the string


for char in s:
if char in vowels:
count += 1
return count

# Passing string and calling function


input_string = input("Enter a string: ")
print("Number of vowels:", count_vowels(input_string))

8
Chapter 3 – Exception Handling
7. Write a program to take two integers and perform addition of two
numbers handle exception when non-integers entered by user.
Code:
# A program to raise exception when a negative number is entered
# Define a function to add and return error
def add(n1,n2):
#Checking for error
if n1<0 or n2<0:
raise ValueError("Negative number entered!")
else:
#Performing Addition
return n1 + n2

#Handling exception using try


try:
no1 = int(input("Enter number1: "))
no2 = int(input("Enter number2: "))
print(f"The result is: {add(no1,no2)}")
except ValueError as e:
print(f"Error: {e}")
Output:

9
8. Write a program to find the square root of a positive number, raise
a custom exception when user enters a non-integer number
Code:
# Importing math module
import math

#Define a function
def find_square_root():
# Handling exception
try:
# Input a number
num = float(input("Enter a number: "))
# Condition to check positive integer
if num <= 0 or num % 1 != 0:
raise ValueError("Input must be a positive integer only")
# Calculating Square root
square_root = math.sqrt(num)
# Output
print(f"The square root of {num} is {square_root}")
#Generating Error message
except ValueError as e:
print(f"Custom Error: {e}")

find_square_root()
Output:

10
Chapter 4 – File Handling
9. Write a program to replace entered word from a text file india.txt.
Code:
# A program to replace entered word from a text file

# Define a function
def replace_word(f, old_word, new_word):
# Open a file to read
with open(f, 'r') as file:
# Store data read from file indt object
dt = file.read()

# Checking the presence of old word and generating appropriate message


if old_word not in dt:
print(f"The word '{old_word}' was not found in the file.")
return
# Replace old word with new word
new_dt = dt.replace(old_word, new_word)

# Writing new data in the file


with open(f, 'w') as file:
file.write(new_dt)
#Output
print()
print(f"The word '{old_word}' has been replaced with '{new_word}'
successfully.")
print()
print(new_dt)

# Main Code
f = 'india.txt'
old_word = input("Enter the word to be replaced: ")
new_word = input("Enter the new word: ")
replace_word(f, old_word, new_word)

11
Output:

12
10. Write a menu driven program to store and manipulate data in
binary file to insert, update, delete and display records. The data
has following structure:
Data Represents Patient Information
Dictionary {‘P_ID’:101,’P_Name’:’Shiv’,’Charges’:25000}
File Name patient.dat
Menu:
1. Add Patient
2. Display Patient
3. Search Patient
4. Update Patient
5. Delete Patient
6. Exit
Code:
# import module to handle binary files data
import pickle
# A variable to mark as record found to counter loop iteration
flag = False

# Accepting data for Dictionary and dumping into binary file


def add_pat():
# Enter data as Input to add in dictionary
P_ID = int(input('Enter patient_id:'))
pname = input('Enter Patient Name:')
charges = int(input('Enter Charges:'))

# Creating the dictionary


rec = {'P_ID':P_ID,'P_Name':pname,'Charges':charges}

# Opens a file and Writing the Dictionary


f = open('patient.dat','ab')
pickle.dump(rec,f)
f.close()
print("Record Addedd successfully.")

13
# Reading and displaying the records
def display_pat():
#Opening a binary file and reading data individually
f = open('patient.dat','rb')
while True:
try:
rec = pickle.load(f)
print('*'*40)
print('Patient ID:',rec['P_ID'])
print('Name:',rec['P_Name'])
print('charges:',rec['Charges'])
print('*'*40)
except EOFError:
break
f.close()

#Searching a record based on patient name


def search_pat(pname):
# Open file to search patient record
f = open('patient.dat','rb')

# Iterating records using while loop


while True:
# Hnalding exception Ran out of Input and EOFError
try:
# Load records into a python object
rec = pickle.load(f)
# Matching and displaying records
if rec['P_Name'] == pname:
print('Patient ID:',rec['P_ID'])
print('Name:',rec['P_Name'])
print('Charges:',rec['Charges'])

14
flag = True
except EOFError:
break

if flag == False:
print('No Record found...')
f.close()

# charges modification for a P_ID


def update_pat():
# Prompt P_ID and charges to modify record
pid = int(input('Enter a P_ID:'))
flag=False
# Open a file to verify record exists or not
f = open('patient.dat','rb')

# An empty list to store the record found for the update


reclst = []
while True:
try:
rec = pickle.load(f)
reclst.append(rec)
flag=True
except EOFError:
break
f.close()

c = int(input('Enter new Charges:'))


for i in range (len(reclst)):
if reclst[i]['P_ID']==pid:
reclst[i]['Charges'] = c
f = open('patient.dat','wb')

15
for i in reclst:
pickle.dump(i,f)
f.close()
print("Record modified successfully...")

# Deleting a record based on P_ID


def deleteRec():
flag=False
f = open('patient.dat','rb')
pid = int(input('Enter a P_ID:'))
reclst = []
while True:
try:
rec = pickle.load(f)
reclst.append(rec)
except EOFError:
break
f.close()
f = open('patient.dat','wb')
for i in reclst:
if i['P_ID']==pid:
continue
pickle.dump(i,f)
print("Record Deleted...")
f.close()

while True:
print('''
1. Add Patient
2. Display Patient
3. Search Patient
4. Update Patient
5. Delete Patient

16
6. Exit
''')
ch = int(input('Enter your choice:'))
if ch == 1:
add_pat()
elif ch == 2:
display_pat()
elif ch == 3:
pn = input('Enter a patient name to search:')
search_pat(pn)
elif ch == 4:
update_pat()
elif ch == 5:
deleteRec()
elif ch==6:
print("Bye Bye, Thank you for Interactions")
break
else:
print("Invalid Choice")
Output:
Main Menu

Add Patient

Display Patient

17
Search Patient

Update Patient

Delete Patient

Exit

18
11. Create a CSV file by entering user-id and password, read and
search the password for given userid.
Code:
# importing csv file
import csv
# creating a list to add record
users=[]

# define function to add user


def add_user():
# Taking input username and password
un=input("Enter Username:")
pwd=input("Enter Password:")
# Creating csv file and opening csv file in writing mode
f=open("user.csv","a",newline='')
# Creating writer object
w=csv.writer(f)
# Creating a row with username and password
w.writerow([un,pwd])
# Closing the file
f.close()
print("User added...")

# Defining a seach function


def search():
# Open a file to search password
f=open("user.csv","r")
# Reading data from csv file
r=csv.reader(f)
# Enter username to search password
un=input("Enter Username to search:")
# Traversing through records
for i in r:
# Verifying usernames and displaying password

19
if i[0]==un:
print("Your password for ", i[0], " is:",i[1])
f.close()

# Creating main menu


while True:
print('''
1. Add user
2. Search Password
3. Exit
''')
ch=int(input("Enter Your Choice:"))
if ch==1:
add_user()
elif ch==2:
search()
elif ch==3:
break
else:
print("Invalid Choice")
Output:
Main Menu

Add User

20
Search Password

12. Write a program to create a binary file candidates.dat which


stores the following information in list as follows:
Structure of Data
Field Data Type

Candidate_id Integer

Candidate_Name String

Designation String

Experience Float

(i)Write a function append() to write data into binary file.


(ii) Write a function display() to display data from binary file for all
candidates whose experience is more than 10.
Code:
# Module to work with binary files
import pickle
# A function to accept data and append into binary file
def append():
with open("Candidates.dat",'ab') as f:
C_id=int(input("Enter Candidate ID: "))
C_nm=input("Enter Candidate name: ")
C_dg=input("Enter Designation: ")
C_ex=float(input("Enter Experience: "))
rec=[C_id,C_nm,C_dg,C_ex]
pickle.dump(rec,f)

21
# Display data after reading file contents
def display():
with open("Candidates.dat",'rb') as f:
while True:
try:
rec=pickle.load(f)
if rec[-1]>10:
print(rec)
except EOFError:
break
# Calling functions
append()
display()
Output:

22
13. Write a program to generate a CSV file named happiness.csv.
Each record of CSV contains these data:
Name of the country String

Population of country Integer

No. people participated in survey Integer

No. of people who are Happy Integer

Write user defined functions to do the following:


(i) Insert records into CSV
(ii) Display records from CSV
(iii) Update records
(iv) Delete record
Code:
# Import a module to work with csv
import csv

# a list object to store records


h=[]

# A function to create header row, run only once


def header_row():
f=open("happiness.csv",'w',newline='')
wo=csv.writer(f)
wo.writerow(['Country','Population','Participants', 'Happy People'])
print("A CSV file with header is created...")
f.close()

# A function to insert a record


def insert_rec():
with open('happiness.csv','a',newline='') as f:
country=input("Enter name of country:")
population=float(input("Enter Population (In Billion):"))

23
participants=float(input("Enter no. of participants (In Million):"))
happy=float(input("Enter no. of people who are happy (In Million):"))
h=[country, population, participants, happy]
wo=csv.writer(f)
wo.writerow([country,population,participants,happy])
print("Record inserted...")

# A function to display records


def display_rec():
with open('happiness.csv','r',newline='') as f:
ro=csv.reader(f)
for i in ro:
print(i)

# Update a record
def update_rec():
c=input("Enter country to update records:")
updated_row=[]
flg=False
with open('happiness.csv','r') as f:
ro=csv.reader(f)
for i in ro:
if i[0]==c:

flg=True
population=float(input("Enter Population (In Billion):"))
participants=float(input("Enter no. of participants (In Million):"))
happy=float(input("Enter no. of people who are happy (In Million):"))
i[1]=population

i[2]=participants

i[3]=happy

updated_row.append(i)
if flg==True:

24
with open('happiness.csv','w',newline='') as f:
wo=csv.writer(f)
wo.writerows(updated_row)
print('Record Updated...')
else:
print('Record not found...')

# Delete Record
def delete_rec():
c=input("Enter country to update records:")
deleted_row=[]
flg=False
with open('happiness.csv','r') as f:
ro=csv.reader(f)
for i in ro:
if i[0] != c:

flg=True
deleted_row.append(i)
if flg==True:
with open('happiness.csv','w',newline='') as f:
wo=csv.writer(f)
wo.writerows(deleted_row)
print('Record Deleted...')
else:
print('Record not found...')

# Main Menu
while True:
print('''
1. Create header row (Excute at once)

2. Insert country record

3. Display happiness record

25
4. Update Record

5. Delete Record

6. Exit

''')
ch = int(input('Enter your choice:'))
if ch==1:

header_row()
elif ch == 2:

insert_rec()
elif ch == 3:

display_rec()
elif ch == 4:

update_rec()
elif ch == 5:

delete_rec()
elif ch == 6:

print("Bye Bye, Thank you for Interactions")


break
else:
print("Invalid Choice")
Output: Main Menu

26
Create header row (Execute at Once)

Insert Country Record

Display Record

Update Record

Delete record

14. Write a menu drive program for stack operations:


Code:
def check_stack_isEmpty(stk):
if stk==[]:
return True
else:
return False

27
s=[] # An empty list to store stack elements, initially its empty
top = None # This is top pointer for push and pop operation
def main_menu():
while True:
print("Stack Implementation")
print("1 - Push")
print("2 - Pop")
print("3 - Peek")
print("4 - Display")
print("5 - Exit")
ch = int(input("Enter the your choice:"))
if ch==1:
el = int(input("Enter the value to push an element:"))
push(s,el)
elif ch==2:
e=pop_stack(s)
if e=="UnderFlow":
print("Stack is underflow!")
else:
print("Element popped:",e)
elif ch==3:
e=pop_stack(s)
if e=="UnderFlow":
print("Stack is underflow!")
else:
print("The element on top is:",e)
elif ch==4:
display(s)
elif ch==5:
break
else:
print("Sorry, You have entered invalid option")

28
def push(stk,e):
stk.append(e)
top = len(stk)-1
def display(stk):
if check_stack_isEmpty(stk):
print("Stack is Empty")
else:
top = len(stk)-1
print(stk[top],"-Top")
for i in range(top-1,-1,-1):
print(stk[i])
def pop_stack(stk):
if check_stack_isEmpty(stk):
return "UnderFlow"
else:
e = stk.pop()
if len(stk)==0:
top = None
else:
top = len(stk)-1
return e
def peek(stk):
if check_stack_isEmpty(stk):
return "UnderFlow"
else:
top = len(stk)-1
return stk[top]
main_menu()

29
Output:
Main Menu

Push Element

Pop Element

Peek Element

Display Stack

30
15. Write a program to Push an item into stack where a dictionary
contains the details of stationary items as follows:
stn = {“Shirt”:700,”T-Shirt”:750,”Jeans”:1150,”Trouser”:400}
(a) Write a function to push an element into stack for those
items names whose price is more than 850. Also display the
count of elements pushed into the stack.
(b) Write a function to pop an element to remove the element
and display appropriate message when the stack is empty.
Code:
stn = {}
while True:
item=input("Enter itemname:")
price=float(input("Enter Price:"))
stn[item]=price
ch=input("Press X to stop:")
if ch in 'xX':
break

def Push(stk,ele):
stk.append(ele)
return stk

def Pop(stk):
if stk==[]:
return "underflow"
else:
return stk.pop()
stak=[]
c=0
for i in stn:
if stn[i]>35:
Push(stak,i)

31
c+=1
print("Total Stack elements are:",c)

while True:
if stak!=[]:
print(Pop(stak))
else:
print("Stack is Empty")
break
Output:

32
Part B – MySQL Queries
Chapter 11 – Simple Queries in SQL
Set 1 – Based on Database Basic Commands
Write SQL Commands for following:
1. Create a database named practical_2025
Ans.: mysql> CREATE DATABASE practical_2025;

2. Check database is present or not in the list of databases


Ans.: Mysql> show databases;

3. Open a database
Ans.: mysql>use practical_2025

4. Create a database temp


Ans.: mysql> create database temp;

5. Delete a database temp


Ans.: drop database temp;

33
Set 2 – Based on DDL Commands
Consider the following MOVIES table and write the SQL commands based on it.
Movie_ID MovieName Type ReleaseDate ProductionCost BusinessCost
M001 Dahek Action 2022/01/26 1245000 1300000
M002 Attack Action 2022/01/28 1120000 1250000
M003 Looop Lapeta Thriller 2022/02/01 250000 300000
M004 Badhai Do Drama 2022/02/04 720000 68000
M005 Shabaash Mithu Biography 2022/02/04 1000000 800000
M006 Gehraiyaan Romance 2022/02/11 150000 120000
1. Create above table, assign Movie_ID as a primary key and insert records as

above
mysql> CREATE TABLE Movies ( Movie_ID VARCHAR(5) PRIMARY KEY,
MovieName VARCHAR(50),
Type VARCHAR(20),
ReleaseDate DATE,
ProductionCost INT,
BusinessCost INT );

INSERT INTO Movies (Movie_ID, MovieName, Type, ReleaseDate,


ProductionCost, BusinessCost) VALUES
('M001', 'Dahek', 'Action', '2022-01-26', 1245000, 1300000),
('M002', 'Attack', 'Action', '2022-01-28', 1120000, 1250000),
('M003', 'Looop Lapeta', 'Thriller', '2022-02-01', 250000, 300000),
('M004', 'Badhai Do', 'Drama', '2022-02-04', 720000, 68000),
('M005', 'Shabaash Mithu', 'Biography', '2022-02-04', 1000000, 800000),
('M006', 'Gehraiyaan', 'Romance', '2022-02-11', 150000, 120000);

34
2. Show the structure of table

mysql> desc movies;

3. Add a column named collection with decimal data type with structure 12, 2

mysql> alter table movies add column collection decimal(12,2);

35
4. Change the data type of movie_id to varchar

mysql> alter table movies modify column movie_id varchar(4);

Table Affected:

5. Rename a column MovieName to MName

mysql> alter table movies rename moviename to mname;

6. Delete a column collection

mysql> alter table movies drop column collection;

36
Set 3 – Select queries including order by
1. Display the movie name, type, releasedate and total cost of all movies
mysql > select mname, type, releasedate, productioncost + businesscost as
'total cost' from movies;

2. Display all details of action and thriller movies


mysql> select * from movies where type in ('action','thriller');

3. Display movie name, types and releasedate of all movies released in the month
of February, 2022
mysql > select mname, type, releasedate from movies where releasedate
between '2022-02-01' and '2022-02-28';

37
4. Display the details of movies whose name ends with letter k.
mysql > select * from movies where mname like '%k';

5. Display the details of movies which is not released yet


mysql > select * from movies where releasedate is null;

6. Display the movie name type release date and production cost in the
descending order of production cost
mysql> select mname, type, releasedate, productioncost from movies order by
productioncost desc;

38
Set 4 – Group by, having and aggregate functions
1. Display the number of movies for each type
mysql> select type, count(*) from movies group by type;

2. Display the number of unique movies


mysql> select count( distinct type) from movies;

3. Display the maximum production cost for each movie type


mysql> select type, max(productioncost) from movies group by type;

39
4. Display the date of movies released latest
mysql> select max(releasedate) from movies;

5. Display the average business cost of movies for each type


Mysql> select type, avg(businesscost) from movies group by type;

6. Display the type and number of movies for each type where movie type is
more than two
mysql> select type, count(*) from movies group by type having count(*)>2;

40
Set 5 – Join Queries
Create two tables as follows and write given queries below:
Table - artist

Table – Song

1. Display the cartesian product of artist and song tables:


mysql > select * from artist, song;

41
2. Display the records of artist and song using equijoin.

mysql > select * from artist, song where artist.artist_id=song.artist_id;

3. Display the records of artist and song tables using natural join.

mysql > select * from artist natural join song;

4. Display artist name, label and songs of sony music company.

mysql > select artist_name, label_owner, name from artist, song where
artist.artist_id=song.artist_id and label_owner='sony music';

5. Display artist name, song name from artist and song which song starts with ‘p’.
mysql > select artist_name, name from artist a, song s where a.artist_id =
s.artist_id and s.name like ‘p%’;

42
Part C – Python & MySQL Connectivity Programs
Chapter 14 – Interface Python with MySQL
1. Write a program to connect with mysql database and insert a record into
database.
Code:
import mysql.connector as my
cn=my.connect(host='localhost',user='root',passwd='root',database
='practical_2025')
cur=cn.cursor()
aid=int(input("Enter Artist ID:"))
aname=input("Enter Artist Name:")
lbl=input("Enter Label:")
cur.execute("insert into artist
values({},'{}','{}')".format(aid,aname,lbl))
cn.commit()
print("Record Inserted...")
cn.close()
Output:

43
2. Write a program to connect with mysql database and update a record into
database.
Code:
import mysql.connector as my
cn=my.connect(host='localhost',user='root',passwd='root',database
='practical_2025')
cur=cn.cursor()
aid=int(input("Enter Artist ID:"))
aname=input("Enter Artist Name:")
lbl=input("Enter Label:")
cur.execute("update artist set artist_name='{}',label_owner='{}'
where artist_id={}".format(aname,lbl,aid))
cn.commit()
print("Record Updated...")
cn.close()
Output:

44
3. Write a program to connect with mysql database and delete a record into
database.
Code:
import mysql.connector as my

cn=my.connect(host='localhost',user='root',passwd='root',database

='practical_2025')

cur=cn.cursor()

aid=int(input("Enter Artist ID to delete:"))

cur.execute("delete from artist where

artist_id={}".format(aname,lbl,aid))

cn.commit()

print("Record Deleted...")

cn.close()

Output:

Table:

45
4. Write a program to connect with mysql database display record of particular
label under the artist is working.
Code:
import mysql.connector as my

cn=my.connect(host='localhost',user='root',passwd='root',database

='practical_2025')

cur=cn.cursor()

lbl=input("Enter Label:")

cur.execute("select * from artist where label_owner='{}'".format(lbl))

dt=cur.fetchall()

for i in dt:

print(i)

cn.close()

Output:

46

You might also like