0% found this document useful (0 votes)
22 views

solution-of-sample-practical 2

The document provides a series of Python programming exercises for Class XII Computer Science, covering topics such as prime number checking, palindrome detection, ASCII code conversion, recursion, file handling, and data structures like stacks. Each exercise includes a brief description, source code, and sample output. The exercises are designed to help students practice and understand fundamental programming concepts.
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)
22 views

solution-of-sample-practical 2

The document provides a series of Python programming exercises for Class XII Computer Science, covering topics such as prime number checking, palindrome detection, ASCII code conversion, recursion, file handling, and data structures like stacks. Each exercise includes a brief description, source code, and sample output. The exercises are designed to help students practice and understand fundamental programming concepts.
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/ 37

CLASS-XII

SUBJECT – COMPUTER SCIENCE (083)


PRACTICAL FILE SOLUTION
PRACTIC
OBJECTIVE & SOLUTION
AL NO.
1. Write a program in python to check a number whether it is prime or not.
num=int(input("Enter the number: "))
for i in range(2,num):
if num%i==0:
SOURCE print(num, "is not prime number")
CODE: break;
else:
print(num,"is prime number")

OUTPUT:

2. Write a program to check a number whether it is palindrome or not.

Page 1 of 37
num=int(input("Enter a number : "))
n=num
res=0
while num>0:
rem=num%10
SOURCE res=rem+res*10
CODE: num=num//10
if res==n:
print("Number is Palindrome")
else:
print("Number is not Palindrome")

OUTPUT:

3. Write a program to display ASCII code of a character and vice versa.


var=True
while var:
SOURCE choice=int(input("Press-1 to find the ordinal value of a character
CODE: \nPress-2 to
find a character of a value\n"))
if choice==1:

Page 2 of 37
ch=input("Enter a character : ")
print(ord(ch))
elif choice==2:
val=int(input("Enter an integer value: "))
print(chr(val))
else:
print("You entered wrong choice")

print("Do you want to continue? Y/N")


option=input()
if option=='y' or option=='Y':
var=True
else:
var=False

Press-1 to find the ordinal value of a character


Press-2 to find a character of a value
1
OUTPUT:
Enter a character : a
97
Do you want to continue? Y/N

Page 3 of 37
Y
Press-1 to find the ordinal value of a character
Press-2 to find a character of a value
2
Enter an integer value: 65
A
Do you want to continue? Y/N

Write a function SwapNumbers( ) to swap two numbers and display the


4.
numbers before swapping and after swapping.
def SwapNumbers(x,y):
a, b = y, x
print("After Swap:")
print("Num1: ", a)
print("Num2: ", b)
SOURCE
CODE: # main program
Num1=int(input("Enter Number-1: "))
Num2=int(input("Enter Number-2: "))
print("Before Swap: ")
print("Num1: ", Num1)
print("Num2: ", Num2)
Page 4 of 37
SwapNumbers(Num1, Num2)

Enter Number-1: 10
Enter Number-2: 20
Before Swap:
Num1: 10
OUTPUT: Num2: 20
After Swap:
Num1: 20
Num2: 10

5. Write a program to find the sum of all elements of a list using recursion.
def SumAll(L):
n=len(L)
if n==1:
return L[0]
SOURCE
else:
CODE:
return L[0]+SumAll(L[1:])
# main program
LS=eval(input("Enter the elements of list: "))
total=SumAll(LS)

Page 5 of 37
print("Sum of all elements is: ", total)

Enter the elements of list: [2,5,6,12,3,2]


OUTPUT:
Sum of all elements is: 30
6. Write a program to calculate the factorial of an integer using recursion.
def factorial(n):
if n == 1:
return n
else:
return n*factorial(n-1)

SOURCE num=int(input("enter the number: "))


CODE: if num < 0:
print("Sorry, factorial does not exist for negative numbers")
elif num == 0:
print("The factorial of 0 is 1")
else:
print("The factorial of ",num," is ", factorial(num))

enter the number: 5


OUTPUT: The factorial of 5 is 120

Page 6 of 37
7. Write a program to print fibonacci series using recursion.
def fibonacci(n):
if n<=1:
return n
else:
SOURCE return(fibonacci(n-1)+fibonacci(n-2))
CODE:
num=int(input("How many terms you want to display: "))
for i in range(num):
print(fibonacci(i)," ", end=" ")

How many terms you want to display: 8


OUTPUT: 0 1 1 2 3 5 8 13

8. Write a recursive python program to test if a string is palindrome or not.


def isStringPalindrome(str):
if len(str)<=1:
SOURCE return True
CODE: else:
if str[0]==str[-1]:
return isStringPalindrome(str[1:-1])

Page 7 of 37
else:
return False

#__main__

s=input("Enter the string : ")


y=isStringPalindrome(s)

if y==True:
print("String is Palindrome")
else:
print("String is Not Palindrome")

Enter the string : madam


OUTPUT: String is Palindrome

Write a program to generate random numbers between 1 to 6 and check


9.
whether a user won a lottery or not.
import random
SOURCE n=random.randint(1,6)
CODE: guess=int(input("Enter a number between 1 to 6 :"))
if n==guess:
Page 8 of 37
print("Congratulations, You won the lottery ")
else:
print("Sorry, Try again, The lucky number was : ", n)

Enter a number between 1 to 6 : 4


OUTPUT:
Sorry, Try again, The lucky number was : 1
10. Write a program to count the number of vowels present in a text file.
fin=open("D:\\python programs\\Book.txt",'r')
str=fin.read( )
count=0
for i in str:
SOURCE
if i=='a' or i=='e' or i=='i' or i=='o' or i=='u':
CODE:
count=count+1

print(count)

9
OUTPUT:

Write a program to write those lines which have the character 'p' from
11.
one text file to another text file.

Page 9 of 37
fin=open("E:\\book.txt","r")
fout=open("E:\\story.txt","a")
s=fin.readlines( )
for j in s:
SOURCE if 'p' in j:
CODE: fout.write(j)

fin.close()
fout.close()

**Write contents of book.txt and story.txt


OUTPUT:

12. Write a program to count number of words in a file.


fin=open("D:\\python programs\\Book.txt",'r')
str=fin.read( )
L=str.split()
SOURCE count_words=0
CODE: for i in L:
count_words=count_words+1
print(count_words)

OUTPUT: 16
Page 10 of 37
13. Write a python program to write student data in a binary file.
import pickle
list =[ ] # empty list
while True:
roll = input("Enter student Roll No:")
sname = input("Enter student Name :")
student = {"roll":roll,"name":sname}
SOURCE
list.append(student)
CODE:
choice= input("Want to add more record(y/n) :")
if(choice=='n'):
break
file = open("student.dat","wb")
pickle.dump(list, file)
file.close( )

OUTPUT: Enter student Roll No:1201


Page 11 of 37
Enter student Name :Anil
Want to add more record(y/n) :y
Enter student Roll No:1202
Enter student Name :Sunil
Want to add more record(y/n) :n
14. Write a python program to read student data from a binary file.
import pickle
file = open("student.dat", "rb")
SOURCE
list = pickle.load(file)
CODE:
print(list)
file.close( )

OUTPUT: [{'roll': '1201', 'name': 'Anil'}, {'roll': '1202', 'name': 'Sunil'}]


15. Write a python program to modify/update student data in a binary file.
import pickle
SOURCE roll = input('Enter roll number whose name you want to update in binary
CODE: file :')
file = open("student.dat", "rb+")

Page 12 of 37
list = pickle.load(file)
found = 0
lst = [ ]
for x in list:
if roll in x['roll']:
found = 1
x['name'] = input('Enter new name: ')
lst.append(x)
if found == 1:
file.seek(0)
pickle.dump(lst, file)
print("Record Updated")
else:
print('roll number does not exist')

file.close( )

Enter roll number whose name you want to update in binary file :1202
Enter new name: Harish
OUTPUT:
Record Updated

Page 13 of 37
16. Write a python program to delete student data from a binary file.
import pickle
roll = input('Enter roll number whose record you want to delete:')
file = open("student.dat", "rb+")
list = pickle.load(file)
found = 0
lst = []
for x in list:
if roll not in x['roll']:
lst.append(x)
SOURCE else:
CODE: found = 1

if found == 1:
file.seek(0)
pickle.dump(lst, file)
print("Record Deleted ")
else:
print('Roll Number does not exist')
file.close( )

OUTPUT: Enter roll number whose record you want to delete:1201


Page 14 of 37
Record Deleted

17. Write a python program to search a student record in a binary file.


import pickle
roll = input('Enter roll number that you want to search in binary file :')
file = open("student.dat", "rb")
list = pickle.load(file)
file.close( )
SOURCE for x in list:
CODE: if roll in x['roll']:
print("Name of student is:", x['name'])
break
else:
print("Record not found")

Enter roll number that you want to search in binary file :1202
OUTPUT: Name of student is: Harish

18. Write a program to perform read and write operation with .csv file.
SOURCE import csv
CODE: def readcsv():

Page 15 of 37
with open('C:\\ data.csv','rt')as f:
data = csv.reader(f)
for row in data:
print(row)

def writecsv( ):
with open('C:\\data.csv', mode='a', newline='') as file:
writer = csv.writer(file, delimiter=',', quotechar='"')

#write new record in file


writer.writerow(['4', 'Devansh', 'Arts', '404'])

print("Press-1 to Read Data and Press-2 to Write data: ")


a=int(input())
if a==1:
readcsv()
elif a==2:
writecsv()
else:
print("Invalid value")

Page 16 of 37
Press-1 to Read Data and Press-2 to Write data:
1
['Roll No.', 'Name of student', 'stream', 'Marks']
['1', 'Anil', 'Arts', '426']
OUTPUT:
['2', 'Sujata', 'Science', '412']
['3', 'Shivani', 'Commerce', '448']
['4', 'Devansh', 'Arts', '404']

19. Write a program to create a library in python and import it in a program.


#Rect.py
class Rectangle:
def __init__(self):
print("Rectangle")

SOURCE def Area(self, length, width):


CODE: self.l=length
self.w=width
print("Area of Rectangle is : ", self.l*self.w)

#Sq.py

Page 17 of 37
class Square:
def __init__(self):
print("Square")
def Area(self, side):
self.a=side
print("Area of square is : ", self.a*self.a)

#Tri.py
class Triangle:
def __init__(self):
print("Trinagle")

def Area(self, base, height):


self.b=base
self.h=height
ar= (1/2)*self.b*self.h
print("Area of Triangle is : ", ar )

#main.py
from Shape import Rect
Page 18 of 37
from Shape import Sq
from Shape import Tri

r=Rect.Rectangle( ) #Create an object r for Rectangle class


r.Area(10,20) # Call the module Area( ) of Rectangle class by
passing argument

s=Sq.Square( ) #Create an object s for Square class


s.Area(10) # Call the module Area( ) of Square class by passing
argument

t=Tri.Triangle( ) #Create an object t for Triangle class


t.Area(6,8) # Call the module Area( ) of Triangle class by passing
argument

Rectangle
Area of Rectangle is : 200
OUTPUT: Square
Area of square is : 100
Trinagle

Page 19 of 37
Area of Triangle is : 24.0

20. Write a program for linear search.


L=eval(input("Enter the elements: "))
n=len(L)
item=eval(input("Enter the element that you want to search : "))
for i in range(n):
SOURCE if L[i]==item:
CODE: print("Element found at the position :", i+1)
break
else:
print("Element not Found")

Enter the elements: 23,67,44,99,65,33,78,12


Enter the element that you want to search : 33
OUTPUT:
Element found at the position : 6

21. Write a program for bubble sort.


L=eval(input("Enter the elements:"))
SOURCE n=len(L)
CODE: for p in range(0,n-1):
for i in range(0,n-1):
Page 20 of 37
if L[i]>L[i+1]:
t=L[i]
L[i]=L[i+1]
L[i+1]=t
print("The sorted list is : ", L)

Enter the elements:[67,13,89,34,65,8,74,19]


OUTPUT: The sorted list is : [8, 13, 19, 34, 65, 67, 74, 89]

22. Write a menu based program to perform the operation on stack in python.
def push(n):
L.append(n)
print("Element inserted successfully")

def Pop( ):
SOURCE
if len(L)==0:
CODE:
print("Stack is empty")
else:
print("Deleted element is: ", L.pop( ))

def Display( ):

Page 21 of 37
print("The list is : ", L)

def size( ):
print("Size of list is: ", len(L))

def Top( ):
if len(L)==0:
print("Stack is empty")
else:
print("Value of top is: ", L[len(L)-1])

#main program
L=[ ]
print("MENU BASED STACK")
cd=True
while cd:
print(" 1. Push ")
print(" 2. Pop ")
print(" 3. Display ")
print(" 4. Size of Stack ")
print(" 5. Value at Top ")

Page 22 of 37
choice=int(input("Enter your choice (1-5) : "))

if choice==1:
val=input("Enter the element: ")
push(val)
elif choice==2:
Pop( )
elif choice==3:
Display( )
elif choice==4:
size( )
elif choice==5:
Top( )
else:
print("You enetered wrong choice ")

print("Do you want to continue? Y/N")


option=input( )
if option=='y' or option=='Y':
var=True
else:

Page 23 of 37
var=False
MENU BASED STACK
1. Push
2. Pop
3. Display
4. Size of Stack
5. Value at Top
Enter your choice (1-5) : 1
Enter the element: 45
Do you want to continue? Y/N
y
OUTPUT: 1. Push
2. Pop
3. Display
4. Size of Stack
5. Value at Top
Enter your choice (1-5) : 3
['45']
Do you want to continue? Y/N
y
1. Push
2. Pop
Page 24 of 37
3. Display
4. Size of Stack
5. Value at Top

Write a menu based program to perform the operation on queue in


23.
python.
def Enqueue(n):
L.append(n)
if len(L)==1:
f=r=L[0]
else:
r=L[len(L)-1]
f=L[0]
SOURCE
CODE:
def Dequeue():
if len(L)==0:
print("Queue is empty")
elif len(L)==1:
print("Deleted element is: ", L.pop(0))
print("Now queue is empty")
else:

Page 25 of 37
print("Deleted element is: ", L.pop(0))

def Display():
if len(L)==0:
print("Queue is empty")
else:
print(L)
r=L[len(L)-1]
f=L[0]
print("Front is : ", f)
print("Rear is : ", r)

def size():
print("Size of queue is: ",len(L))

def FrontRear():
if len(L)==0:
print("Queue is empty")
else:
r=L[len(L)-1]
f=L[0]
print("Front is : ", f)
Page 26 of 37
print("Rear is : ", r)

#main program
L =[]
print("MENU BASED QUEUE")
cd=True
while cd:
print(" 1. ENQUEUE ")
print(" 2. DEQUEUE ")
print(" 3. Display ")
print(" 4. Size of Queue ")
print(" 5. Value at Front and rear ")

choice=int(input("Enter your choice (1-5) : "))

if choice==1:
val=input("Enter the element: ")
Enqueue(val)
elif choice==2:
Dequeue( )
elif choice==3:

Page 27 of 37
Display( )
elif choice==4:
size( )
elif choice==5:
FrontRear()
else:
print("You enetered wrong choice ")

print("Do you want to continue? Y/N")


option=input( )
if option=='y' or option=='Y':
cd=True
else:
cd=False
MENU BASED QUEUE
1. ENQUEUE
2. DEQUEUE
OUTPUT: 3. Display
4. Size of Queue
5. Value at Front and rear
Enter your choice (1-5) : 1
Enter the element: 10
Page 28 of 37
Do you want to continue? Y/N
y
1. ENQUEUE
2. DEQUEUE
3. Display
4. Size of Queue
5. Value at Front and rear
Enter your choice (1-5) : 1
Enter the element: 45
Do you want to continue? Y/N
y
1. ENQUEUE
2. DEQUEUE
3. Display
4. Size of Queue
5. Value at rear
Enter your choice (1-5) : 3
['10', '45']
Do you want to continue? Y/N
y
1. ENQUEUE

Page 29 of 37
2. DEQUEUE
3. Display
4. Size of Queue
5. Value at Front and rear
Enter your choice (1-5) : 2
Deleted element is : 10
Do you want to continue? Y/N

Create database, Show databases, USE, Create table, Show Tables,


24.
Describe, Rename, Alter, Select, From, Where, Insert, Update commands
#Command to create a database
mysql> CREATE DATABASE RAILWAYS;

# Command to show the available databases


mysql> SHOW DATABASES;

SOLUTION:
#Command to enter in a databse
mysql> USE RAILWAYS;
Database changed

#Create a table in the database

Page 30 of 37
mysql> Create table TRAIN(Train_No int primary key, Tname
varchar(30), Source varchar(10), Destination varchar(10), fare float(6,2),
start_date date);

#Show the available tables in the database


mysql> Show tables;

# Show the details of a table


mysql> describe Train;
# Rename/Change the name of the table
mysql> Alter table Train rename Traindetails;

#Insert row in the table


mysql> insert into Traindetails values(22454, “Rajdhani Exp”, “Mumbai”,
“Delhi”, 2856.20, “2019-06-22”);

#Show all data/rows of the table


mysql> SELECT * FROM TRAINDETAILS;

#Change/Modify the fare of train to 3000.00 whose train no. is 22454


mysql> update Traindetails set fare = 3000.00 where Train_No=22454;

Page 31 of 37
OUTPUT: Write output accordingly
Queries using DISTINCT, BETWEEN, IN, LIKE, IS NULL, ORDER BY,
25.
GROUP BY, HAVING
Display the name of departments. Each department should be displayed
A.
once.
SELECT DISTINCT(Dept)
SOLUTION: FROM EMPLOYEE;

Find the name and salary of those employees whose salary is between
B.
35000 and 40000.
SELECT Ename, salary
FROM EMPLOYEE
SOLUTION:
WHERE salary BETWEEN 35000 and 40000;

Find the name of those employees who live in guwahati, surat or jaipur
C.
city.
SELECT Ename, city
FROM EMPLOYEE
SOLUTION:
WHERE city IN(‘Guwahati’,’Surat’,’Jaipur’);

D. Display the name of those employees whose name starts with ‘M’.
Page 32 of 37
SELECT Ename
FROM EMPLOYEE
SOLUTION:
WHERE Ename LIKE ‘M%’;

List the name of employees not assigned to any department.


E.

SELECT Ename
FROM EMPLOYEE
SOLUTION:
WHERE Dept IS NULL;

F. Display the list of employees in descending order of employee code.


SELECT *
FROM EMPLOYEE
SOLUTION:
ORDER BY ecode DESC;

G. Find the average salary at each department.


SELECT Dept, avg(salary)
FROM EMPLOYEE
SOLUTION:
group by Dept;

Page 33 of 37
Find maximum salary of each department and display the name of that
H. department which has maximum salary more than 39000.

Queries for Aggregate functions- SUM( ), AVG( ), MIN( ), MAX( ), COUNT(


26.
)
a. Find the average salary of the employees in employee table.
Solution:- SELECT avg(salary)
FROM EMPLOYEE;
b. Find the minimum salary of a female employee in EMPLOYEE
table.
Solution:- SELECT Ename, min(salary)
FROM EMPLOYEE
WHERE sex=’F’;
c. Find the maximum salary of a male employee in EMPLOYEE
table.
Solution:- SELECT Ename, max(salary)
FROM EMPLOYEE
WHERE sex=’M’;
d. Find the total salary of those employees who work in Guwahati
city.
Solution:- SELECT sum(salary)
FROM EMPLOYEE
Page 34 of 37
WHERE city=’Guwahati’;
e. Find the number of tuples in the EMPLOYEE relation.
Solution:- SELECT count(*)
FROM EMPLOYEE;

27. Write a program to connect Python with MySQL using database connectivity
and perform the following operations on data in database: Fetch, Update
and delete the data.

A. CREATE A TABLE
import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor=demodb.cursor( )
SOLUTION: democursor.execute("CREATE TABLE STUDENT (admn_no int primary
key, sname varchar(30), gender char(1), DOB date, stream varchar(15),
marks float(4,2))")

B. INSERT THE DATA

import mysql.connector
SOLUTION:

Page 35 of 37
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor=demodb.cursor( )
democursor.execute("insert into student values (%s, %s, %s, %s, %s,
%s)", (1245, 'Arush', 'M', '2003-10-04', 'science', 67.34))
demodb.commit( )
C. FETCH THE DATA
import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor=demodb.cursor( )
SOLUTION:
democursor.execute("select * from student")
for i in democursor:
print(i)
D. UPDATE THE RECORD
import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
democursor=demodb.cursor( )
SOLUTION: democursor.execute("update student set marks=55.68 where
admn_no=1356")
demodb.commit( )
Page 36 of 37
E. DELETE THE DATA
import mysql.connector
demodb = mysql.connector.connect(host="localhost", user="root",
passwd="computer", database="EDUCATION")
SOLUTION: democursor=demodb.cursor( )
democursor.execute("delete from student where admn_no=1356")
demodb.commit( )

Page 37 of 37

You might also like