Raksha Xiics Practical 2022-23
Raksha Xiics Practical 2022-23
Kv Sabarmati
Xii computer science
2023-24
===================================Pr
actical list and solution
===================================
****Subject teacher:raksha parmar pgt(CS) ****
*******INDEX*******
S. Page
No Date No. Signature
. Aim/Practical
1. Write a menu driven program in python to display
4Fibonacci series of a given no and print factorial of
a given no.
2. Write a menu driven code in python to check
whether string entered by user is palindrome or not
and number entered by user is prime or not
3. Program to read the content of file and display the
total number of consonants, uppercase, vowels and
lower case characters‟
4. Program to read and display file content line by line
with each word separated by „#‟
5. Program to read the content of file line by line and
write it to another file except for the lines contains
„a‟ letter in it.
Consider a dictionary with keys as course name and
6. fee as value. Write a program to push course name in
stack where fee is more than 10000. Pop and display
contents of stack on the screen.
Program to create binary file to store Rollno and
7. Name, Search
any Rollno and display name if Rollno found
otherwise “Rollno not found”
Program to create binary file to store Rollno,Name
8. and Marks
and update marks of entered Rollno
.
1
7.
SQL QUERIES
1
8.
Software used: IDLE (Python 3.8)
Hardware used: Computer system.
PRACTICAL-1
DATE:
AIM: Write a menu driven program in python to display Fibonacci
series of a given no and print factorial of a given no.
CODE:
f = open("file1.txt")
v=0
c=0
u=0
l=0
o=0
data = f.read()
vowels=['a','e','i','o','u']
for ch in data:
if ch.isalpha():
if ch.lower() in vowels:
v+=1
else:
c+=1
if ch.isupper():
u+=1
elif ch.islower():
l+=1
elif ch!=' ' and ch!='\n':
o+=1
print("Total Vowels in file :",v)
print("Total Consonants in file n :",c)
print("Total Capital letters in file :",u)
print("Total Small letters in file :",l)
print("Total Other than letters :",o)
f.close()
NOTE : if the original content of file is:
India is my country
I love python
Python learning is fun
123@
OUTPUT
Total Vowels in file : 16
Total Consonants in file n : 30
Total Capital letters in file : 2
Total Small letters in file : 44
Total Other than letters : 4
OUTPUT OF THE PROGRAM:
CONCLUSION
PRACTICAL-5
AIM: Program to read and display file content line by line with
each word separated by „#‟ CODE:
f = open("file1.txt")
for line in f:
words = line.split()
for w in words:
print(w+'#',end='')
print()
f.close()
NOTE :
if the original content of file is:
India is my country
I love python
Python learning is fun
OUTPUT:
India#is#my#country#
I#love#python#
Python#learning#is#fun#
PRACTICAL-6
AIM: Program to read the content of file line by line and write it to
another file except for the lines contains “a‟ letter in it.
CODE:
NOTE:
Content of file2.txt:
a quick brown fox
one two three four
five six seven
India is my country
eight nine ten
bye!
OUTPUT:
NOTE:
After copy content of file2copy.txt:
one two three four
five six seven
eight nine ten
bye!
PRACTICAL-7
AIM: Consider a dictionary with keys as course name and fee as
value. Write a program to push course name in stack where fee is
more than 10000. Pop and display contents of stack on the
SCREEN
Code:
course_dict = {'BSC':8000, 'MSC':12000, 'BCA':15000,
'PGDCA':9000, 'MCA':30000, 'MBA':50000 }
STACK = [ ]
def NEWDATA():
course = input('Enter course name :')
fee = int(input('Enter fee '))
course_dict[course] = fee
print('Data saved successfully ')
print(course_dict)
def PUSH():
for key in course_dict:
if course_dict[key] > 10000:
STACK.append(key)
def POP():
if len(STACK)==0:
print('STACK EMPTY, No course with fee>10000')
else:
print('course fee more than 10000')
for top in range(len(STACK), 0, -1):
print(STACK.pop())
NEWDATA()
PUSH()
POP()
Output:
Enter course name :BA
Enter fee 6500
Data saved successfully
{'BSC': 8000, 'MSC': 12000, 'BCA': 15000, 'PGDCA': 9000, 'MCA':
30000, 'MBA':50000, 'BA': 6500}
course fee more than 10000
MBA
MCA
BCA
MSC
PRACTICAL-8
AIM: Program to create binary file to store Rollno and Name,
Search any Rollno and display name if Rollno found otherwise
“Rollno not found”
CODE:
import pickle
student=[]
f=open('student.dat','wb')
ans='y'
while ans.lower()=='y':
roll = int(input("Enter Roll Number :"))
name = input("Enter Name :")
student.append([roll,name])
ans=input("Add More ?(y/n)")
pickle.dump(student,f)
f.close()
f=open('student.dat','rb')
student=[]
while True:
try:
student = pickle.load(f)
except EOFError:
break
ans='y'
while ans.lower()=='y':
found=False
r = int(input("Enter Roll number to search :"))
for s in student:
if s[0]==r:
print("## Name is :",s[1], " ##")
found=True
break
if not found:
print("####Sorry! Roll number not found ####")
ans=input("Search more ?(Y) :")
f.close()
OUTPUT
Enter Roll Number :1
Enter Name :Amit
Add More ?(Y)y
Enter Roll Number :2
Enter Name :Jasbir
Add More ?(Y)y
Enter Roll Number :3
Enter Name :Vikral
Add More ?(Y)n
Enter Roll number to search :2
## Name is : Jasbir ##
Search more ?(Y) :y
Enter Roll number to search :1
## Name is : Amit ##
Search more ?(Y) :y
Enter Roll number to search :4
####Sorry! Roll number not found ####
Search more ?(Y) :n
CONCLUSION: : I have understood how to use NESTED for
loop,range AND CHR()
PRATICAL-9
AIM: Program to create binary file to store Rollno,Name and Marks
and update marks of entered Rollno
CODE:
import pickle
student=[]
f=open('student.dat','wb')
ans='y'
while ans.lower()=='y':
roll = int(input("Enter Roll Number :"))
name = input("Enter Name :")
marks = int(input("Enter Marks :"))
student.append([roll,name,marks])
ans=input("Add More ?(Y)")
pickle.dump(student,f)
f.close()
f=open('student.dat','rb+')
student=[]
while True:
try:
student = pickle.load(f)
except EOFError:
break
ans='y'
while ans.lower()=='y':
found=False
r = int(input("Enter Roll number to update :"))
for s in student:
if s[0]==r:
print("## Name is :",s[1], " ##")
print("## Current Marks is :",s[2]," ##")
m = int(input("Enter new marks :"))
s[2]=m
print("## Record Updated ##")
found=True
break
else:
print("####Sorry! Roll number not found
####")
ans=input("Update more ?(Y) :")
f.close()
OUTPUT
Enter Roll Number :1
Enter Name :Amit
Enter Marks :99
Add More ?(Y)y
Enter Roll Number :2
Enter Name :Vikrant
Enter Marks :88
Add More ?(Y)y
Enter Roll Number :3
Enter Name :Nitin
Enter Marks :66
Add More ?(Y)n
Enter Roll number to update :2
## Name is : Vikrant ##
## Current Marks is : 88 ##
Enter new marks :90
## Record Updated ##
Update more ?(Y) :y
Enter Roll number to update :2
## Name is : Vikrant ##
## Current Marks is : 90 ##
Enter new marks :95
## Record Updated ##
Update more ?(Y) :n
Output of the Program:
CONCLUSION:
PRACTICAL 10
Aim: Program to create CSV file and store empno,name,salary and
search any empno and display name,salary and if not found
appropriate
message.
CODE:
import csv
with open('myfile.csv',mode='a') as csvfile:
mywriter = csv.writer(csvfile,delimiter=',')
ans='y'
while ans.lower()=='y':
eno=int(input("Enter Employee Number "))
name=input("Enter Employee Name ")
salary=int(input("Enter Employee Salary :"))
mywriter.writerow([eno,name,salary])
print("## Data Saved... ##")
ans=input("Add More ?")
ans='y'
with open('myfile.csv',mode='r') as csvfile:
myreader = csv.reader(csvfile,delimiter=',')
while ans=='y':
found=False
e = int(input("Enter Employee Number to search :"))
for row in myreader:
if len(row)!=0:
if int(row[0])==e:
print("==========================
==")
print("NAME :",row[1])
print("SALARY :",row[2])
found=True
break
if not found:
print("==========================")
print(" EMPNO NOT FOUND")
print("==========================")
ans = input("Search More ? (Y/N)")
OUTPUT:
OUTPUT
4Your Number is : 4
Play More? (Y) :y
Your Number is : 3
Play More? (Y) :y
Your Number is : 2
Play More? (Y) :n
def Push(S,item):
S.append(item)
top=len(S)-1
def Pop(S):
if isEmpty(S):
return "Underflow"
else:
val = S.pop()
if len(S)==0:
top=None
else:
top=len(S)-1
return val
def Peek(S):
if isEmpty(S):
return "Underflow"
else:
top=len(S)-1
return S[top]
def Show(S):
if isEmpty(S):
print("Sorry No items in Stack ")
else:
t = len(S)-1
print("(Top)",end=' ')
while(t>=0):
print(S[t],"<==",end=' ')
t-=1
print()
elif ch==3:
val = Peek(S)
if val=="Underflow":
print("Stack Empty")
else:
print("Top Item :",val)
elif ch==4:
Show(S)
elif ch==0:
print("Bye")
break
OUTPUT:
CONCLUSION:
PRACTICAL-14
AIM: Program to connect with database and store record of
employee
and display records.
CODE:
import mysql.connector as mycon
con =
mycon.connect(host='localhost',user='root',p
assword="tiger")
cur = con.cursor()
cur.execute("create database if not exists
company")
cur.execute("use company")
cur.execute("create table if not exists
employee(empno int, name varchar(20), dep
varchar(20),salary int)")
con.commit()
choice=None
while choice!=0:
print("1. ADD RECORD ")
print("2. DISPLAY RECORD ")
print("0. EXIT")
choice = int(input("Enter Choice :"))
if choice == 1:
e = int(input("Enter Employee
Number :"))
n = input("Enter Name :")
d = input("Enter Department :")
s = int(input("Enter Salary :"))
query="insert into employee
values({},'{}','{}',{})".format(e,n,d,s)
cur.execute(query)
con.commit()
print("## Data Saved ##")
elif choice == 2:
query="select * from employee"
cur.execute(query)
result = cur.fetchall()
print("%10s"%"EMPNO","%20s"%"NAME","%
15s"%"DEPARTMENT",
"%10s"%"SALARY")
for row in result:
print("%10s"%row[0],"%20s"%row[1],"%15
s"%row[2],"%10s"%row[3])
elif choice==0:
con.close()
print("## Bye!! ##")
else:
print("## INVALID CHOICE ##")
OUTPUT
1. ADD RECORD
2. DISPLAY RECORD
0. EXIT
Enter Choice :1
Enter Employee Number :1
Enter Name :AMIT
Enter Department :SALES
Enter Salary :9000
## Data Saved ##
1. ADD RECORD
2. DISPLAY RECORD
0. EXIT
Enter Choice :1
Enter Employee Number :2
Enter Name :NITIN
Enter Department :IT
Enter Salary :80000
## Data Saved ##
1. ADD RECORD
2. DISPLAY RECORD
0. EXIT
Enter Choice :2
EMPNO NAME DEPARTMENT SALARY
1 AMIT SALES 9000
2 NITIN IT 80000
1. ADD RECORD
2. DISPLAY RECORD
0. EXIT
Enter Choice :0
## Bye!! ##
Output of a program:
CONCLUSION
PRACTICAL-15
AIM: Program to connect with database and search employee
number in table employee and display record, if empno not found
display appropriate message..
CODE:
import mysql.connector as mycon
con =
mycon.connect(host='localhost',user='root',password="tiger",data
base="company")
cur = con.cursor()
print("#"*40)
print("EMPLOYEE SEARCHING FORM")
print("#"*40)
print("\n\n")
ans='y'
while ans.lower()=='y':
eno = int(input("ENTER EMPNO TO SEARCH :"))
query="select * from employee where empno={}".format(eno)
cur.execute(query)
result = cur.fetchall()
if cur.rowcount==0:
print("Sorry! Empno not found ")
else:
print("%10s"%"EMPNO",
"%20s"%"NAME","%15s"%"DEPARTMENT","%10s"%"SALARY")
for row in result:
print("%10s"%row[0],"%20s"%row[1],"%15s"%row[2],"%10s"%r
ow[3])
ans=input("SEARCH MORE (Y) :")
OUTPUT
########################################
EMPLOYEE SEARCHING FORM
########################################
CONCLUSION:
PRACTICAL-16
AIM:Program to connect with database and update the employee
record of entered empno.
import mysql.connector as mycon
con =
mycon.connect(host='localhost',user='root',password="tiger",
database="company")
cur = con.cursor()
print("#"*40)
print("EMPLOYEE UPDATION FORM")
print("#"*40)
print("\n\n")
ans='y'
while ans.lower()=='y':
eno = int(input("ENTER EMPNO TO UPDATE :"))
query="select * from employee where
empno={}".format(eno)
cur.execute(query)
result = cur.fetchall()
if cur.rowcount==0:
print("Sorry! Empno not found ")
else:
print("%10s"%"EMPNO","%20s"%"NAME",
"%15s"%"DEPARTMENT","%10s"%"SALARY")
for row in result:
print("%10s"%row[0],"%20s"%row[1],"%15s"%row[2],"%10s"
%row[3])
choice=input("\n## ARE YOUR SURE TO UPDATE ?
(Y) :")
if choice.lower()=='y':
print("== YOU CAN UPDATE ONLY DEPT AND SALARY
==")
print("== FOR EMPNO AND NAME CONTACT ADMIN
==")
d = input("ENTER NEW DEPARTMENT,(LEAVE BLANK
IF NOT WANT TO CHANGE )")
if d=="":
d=row[2]
try:
s = int(input("ENTER NEW SALARY,(LEAVE BLANK
IF NOT WANT TO CHANGE ) "))
except:
s=row[3]
query="update employee set dept='{}',salary={}
where empno={}".format(d,s,eno)
cur.execute(query)
con.commit()
print("## RECORD UPDATED ## ")
ans=input("UPDATE MORE (Y) :")
Page : 30
OUTPUT
########################################
EMPLOYEE UPDATION FORM
########################################
ENTER EMPNO TO UPDATE :2
EMPNO NAME DEPARTMENT SALARY
2 NITIN IT 90000
## ARE YOUR SURE TO UPDATE ? (Y) :y
== YOU CAN UPDATE ONLY DEPT AND SALARY ==
== FOR EMPNO AND NAME CONTACT ADMIN ==
ENTER NEW DEPARTMENT,(LEAVE BLANK IF NOT WANT TO
CHANGE )
ENTER NEW SALARY,(LEAVE BLANK IF NOT WANT TO CHANGE )
## RECORD UPDATED ##
UPDATE MORE (Y) :y
ENTER EMPNO TO UPDATE :2
EMPNO NAME DEPARTMENT SALARY
2 NITIN IT 90000
## ARE YOUR SURE TO UPDATE ? (Y) :y
== YOU CAN UPDATE ONLY DEPT AND SALARY ==
== FOR EMPNO AND NAME CONTACT ADMIN ==
ENTER NEW DEPARTMENT,(LEAVE BLANK IF NOT WANT TO
CHANGE )SALES
ENTER NEW SALARY,(LEAVE BLANK IF NOT WANT TO CHANGE )
## RECORD UPDATED ##
UPDATE MORE (Y) :Y
ENTER EMPNO TO UPDATE :2
EMPNO NAME DEPARTMENT SALARY
2 NITIN SALES 90000
## ARE YOUR SURE TO UPDATE ? (Y) :Y
== YOU CAN UPDATE ONLY DEPT AND SALARY ==
== FOR EMPNO AND NAME CONTACT ADMIN ==
ENTER NEW DEPARTMENT,(LEAVE BLANK IF NOT WANT TO
CHANGE )
ENTER NEW SALARY,(LEAVE BLANK IF NOT WANT TO CHANGE )
91000
## RECORD UPDATED ##
UPDATE MORE (Y) :Y
ENTER EMPNO TO UPDATE :2
EMPNO NAME DEPARTMENT SALARY
2 NITIN SALES 91000
## ARE YOUR SURE TO UPDATE ? (Y) :N
UPDATE MORE (Y) :N
PRACTICAL-17
Program to connect with database and delete the record of
entered employee number.
import mysql.connector as mycon
con =
mycon.connect(host='localhost',user='root',password="tiger",
database="company")
cur = con.cursor()
print("#"*40)
print("EMPLOYEE DELETION FORM")
print("#"*40)
print("\n\n")
ans='y'
while ans.lower()=='y':
eno = int(input("ENTER EMPNO TO DELETE :"))
query="select * from employee where
empno={}".format(eno)
cur.execute(query)
result = cur.fetchall()
if cur.rowcount==0:
print("Sorry! Empno not found ")
else:
print("%10s"%"EMPNO","%20s"%"NAME",
"%15s"%"DEPARTMENT","%10s"%"SALARY")
for row in result:
print("%10s"%row[0],"%20s"%row[1],"%15s"%row[2],"%10s"
%row[3])
choice=input("\n## ARE YOUR SURE TO DELETE ?
(Y) :")
if choice.lower()=='y':
query="delete from employee where
empno={}".format(eno)
cur.execute(query)
con.commit()
print("=== RECORD DELETED SUCCESSFULLY!
===")
ans=input("DELETE MORE ? (Y) :")
OUTPUT
########################################
EMPLOYEE DELETION FORM
########################################
ENTER EMPNO TO DELETE :2
EMPNO NAME DEPARTMENT SALARY
2 NITIN SALES 91000
## ARE YOUR SURE TO DELETE ? (Y) :y
=== RECORD DELETED SUCCESSFULLY! ===
DELETE MORE ? (Y) :y
ENTER EMPNO TO DELETE :2
Sorry! Empno not found
DELETE MORE ? (Y) :n
PRACTICAL-18
Write a program of database connectivity of Python with MySQL.
Program
will store the data entered by the user in a table named as
'library'.library
table has following attributes
bookid
title
author
price
import mysql.connector
mycon = mysql.connector.connect(host='localhost',
user='root',passwd='tiger', database='mylibrary');
mycur = mycon.cursor()
sql1='''
create table if not exists library(
bookid int primary key,
title varchar(30),
author varchar(30),
price int
)'''
mycur.execute(sql1)
n = int(input('How many records you want to enter? '))
for x in range(n):
bno = int(input('Enter book id '))
btitle = input('Enter title of the book ')
bauthor = input('Enter author of the book ')
bprice = int(input('Enter price of book '))
sql2 = "insert into library values({},'{}','{}',{})".format(bno,
btitle,bauthor, bprice )
mycur.execute(sql2)
mycon.commit()
print('Record inserted successfully ')
sql3 = 'SELECT * FROM LIBRARY'
mycur.execute(sql3)
data = mycur.fetchall()
for y in data:
print(y)
mycon.close()
OUTPUT
How many records you want to enter? 3
Enter book id 111
Enter title of the book Java
Enter author of the book Deepak
Enter price of book 540
Record inserted successfully
Enter book id 222
Enter title of the book VB
Enter author of the book Yogesh
Enter price of book 340
Record inserted successfully
Enter book id 333
Enter title of the book Python
Enter author of the book Sunil
Enter price of book 680
Record inserted successfully
(111, 'Java', 'Deepak', 540)
(222, 'VB', 'Yogesh', 340)
(333, 'Python', 'Sunil', 680)
PRACTICAL-19
Write a database connectivity program python with MySQL to
update the
records in a table ‘Library’
Code
import mysql.connector
SQL QUERY
Perform the following operations in MySQL using SQL command
A.Create a table emp with attributes empno, ename, salary
B. Add following columns using alter table command
Age
City
MobileNo
C Add primary key to the above table.
D Change the data type size of salary column.
E Remove the column 'City' and ‘MobileNo’ from the above table.
F Show the structure of table emp.
(a)
b)
SELECT EMPNAME, SALARY, CITY
FROM EMP
WHERE SALARY BETWEEN 4000 AND 8000;
c)
SELECT * FROM EMP
WHERE CITY='BHOPAL' OR CITY='JABALPUR';
d)
SELECT EMPCODE, EMPNAME
FROM EMP
WHERE EMPNAME LIKE '_a%';
e)
SELECT GENDER, AVG(AGE)
FROM EMP
GROUP BY GENDER;
Create a table candidate in the database 'EXAM' with the
following
attributes
rollno
name
marks
Write insert command to enter records in the above table and
write sql
queries to display
1. Max marks scored by a candidate
2. Min marks scored by a candidate
3. Average marks scored by a candidate
4. Total number of candidates
5. Show the name and marks of candidates in alphabetical order.
USE EXAM;
Table creation
CREATE TABLE CANDIDATE
(
rollno int primary key,
name varchar(30) not null,
marks int
);
Record Insertion
insert into candidate(rollno, name, marks)
values(101,'Mohan',75);
insert into candidate(rollno, name, marks)
values(102,'Rohit',69);
insert into candidate(rollno, name, marks)
values(103,'Ramesh',84);
insert into candidate(rollno, name, marks)
values(104,'Seema',92);
insert into candidate(rollno, name, marks)
values(105,'Reeta',44);
SELECT * FROM CANDIDATE;
b)
SELECT ENAME, SAL, DNAME
FROM EMP, DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO AND SAL>2000;
c)
SELECT ENAME,JOB,EMP.DEPTNO,DNAME
FROM EMP,DEPT
WHERE EMP.DEPTNO=DEPT.DEPTNO AND JOB='MANAGER';
d)
SELECT ENAME,JOB,DNAME FROM EMP,DEPT
WHERE EMP.DEPTNO=DEPT.DEPTNO AND JOB='SALESMAN';
e)
select ename, dname
from emp, dept
where emp.deptno=dept.deptno
and ename like '%E%';
******************************************