Practical
Practical
Keshav Jain
Date:
12 Read a CSV file top5.csv and print them with tab delimiter.
Ignore first row header to print in tabular form.
13 Read a CSV file students.csv and print them with tab
delimiter. Ignore first row header to print in tabular form.
Field 1 Data Type
StudentID Integer
StudentName String
Score Integer
CS PRACTICAL RECORD FILE | Page 5
SNo Practical Date Signature
3 Data Structure - Stack
14 Write a program to implement a stack for the employee
details (empno, name).
15 Write a python program to check whether a string is a
palindrome or not using stack.
4 Database management (MySQL Queries)
16 Queries Set 1 (Fetching records)
17 Queries Set 2 (Based on Aggregate Functions)
18 Queries Set 3 (DDL Commands)
19 Queries set 4 (Based on Two Tables)
20 Queries Set 5 (Group by , Order By)
5 Python-MySQL Connectivity
21 Write a MySQL connectivity program in Python to
• Create a database school
• Create a table students with the specifications -
ROLLNO integer, STNAME character(10) in MySQL
and perform the following operations:
o Insert two records in it
o Display the contents of the table
22 Perform all the operations with reference to table ‘students’
through MySQL-Python connectivity.
23 Write a menu-driven program to store data into a MySQL
database named shop and table customer as following:
1. Add customer details
2. Update customer details
3. Delete customer details
4. Display all customer details
24 Modify the above program and display the customer details
based on the following menu:
1. Display customer details by city
2. Display customer details by bill amount
3. Display customer details by name
4. Display customer details by category
CS PRACTICAL RECORD FILE | Page 6
PART 1 WORKING WITH FUNCTIONS
1. Write a python program using a function to print factorial number series from n to
m numbers
def facto( ):
f=1
for i in range(1,n+1):
f*=i
facto( )
if password=='123':
else:
print("Password is incorrect!!!!!!")
user_pass(password)
def sum10(*n):
total=0
for i in n:
total=total + i
sum10(1,2,3,4,5,6,7,8,9,10)
def product10(*n):
pr=1
for i in n:
pr=pr * i
product10(1,2,3,4,5,6,7,8,9,10)
4. Create a text file "intro.txt" in python and ask the user to write a single line text by
user input.
def program4():
f = open("intro.txt","w")
text=input("Enter the text:")
f.write(text)
f.close(
program4()
5. Write a program to count a total number of lines and count the total number of
lines starting with 'A', 'B', and 'C' from the file myfile.txt.
def program5():
with open("MyFile.txt","r") as f1:
data=f1.readlines()
cnt_lines=0 File Contents:
Python is super and trending language.
Allows to store the output in the files.A
text file stores textual data.
Binary files can handle binary data.
Binary files use pickle module to store data.
CSV files can handle tabular data.
CSV files can be read easily using CSV reader object.
if lines[0]=='B':
def program6():
cnt = 0
with open("intro.txt","r") as f1:
data = f1.read()
data=data.replace(' ','-')
with open("intro.txt","w") as f1:
f1.write(data)
with open("intro.txt","r") as f1:
print(f1.read())
program6()
7. Write a program to know the cursor position and print the text according to the
below-given specifications:
a. Print the initial position e. Print the current cursor position
b. Move the cursor to 4th position f. Print next 10 characters from current
c. Display next 5 characters position
d. Move cursor to next 10 characters
def program7():
f = open("intro.txt","r")
print("Cusror initial position.")
print(f.tell())
f.seek(4,0)
print("Displaying values from 5th position.")
print(f.read(5))
f.seek(10,0)
print(f.tell())
print("Print cursor's current postion")
print(f.seek(7,0))
print("Displaying next 10 characters from cursor's current postion.")
print(f.read(10))
program7()
rec={}
def file_create():
f=open("client.dat","wb")
rec={cno:[cname,address]}
pickle.dump(rec,f)
def read_data():
f = open("client.dat","rb")
print("*"*78)
rec=pickle.load(f)
for i in rec:
print(rec[i])
file_create()
read_data()
f1=open('student.dat','rb+')
r=p.load(f1)
print("Updated Record:",r)
f1.close()
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:
CS PRACTICAL RECORD FILE | Page 16
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,invalid option")
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"
CS PRACTICAL RECORD FILE | Page 17
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]
15. Write a program to implement a stack for the employee details (empno, name).
stk=[]
top=-1
def line():
print('~'*100)
def isEmpty():
global stk
if stk==[]:
print("Stack is empty!!!")
else:
None
def push():
global stk
global top
1. Consider the following MOVIE table and write the SQL queries 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
3. Suppose your school management has decided to conduct cricket matches between
students of Class XI and Class XII. Students of each class are asked to join any one
of the four teams – Team Titan, Team Rockers, Team Magnet and Team
Hurricane. During summer vacations, various matches will be conducted between
these teams. Help your sports teacher to do the following:
a) Create a database “Sports”.
b) Create a table “TEAM” with following considerations:
a. It should have a column TeamID for storing an integer value between 1 to 9,
which refers to unique identification of a team.
b. Each TeamID should have its associated name (TeamName), which should be a
string of length not less than 10 characters.
c. Using table level constraint, make TeamID as the primary key.
c) Show the structure of the table TEAM using a SQL statement.
Answers:
•Inserting data:
mqsql> insert into team values(1,'Tehlka');
def c_database():
try:
c.execute("use {}".format(dn))
except Exception as a:
print("Database Error",a)
def d_database():
except Exception as a:
c=db.cursor()
while True:
print("MENU\n1. Create Database\n2. Drop Database \n3. Create Table\n4.
Insert Record \n5. Display Entire Data\n6. Exit")
choice=int(input("Enter your choice<1-6>="))
if choice==1:
c_database()
elif choice==2:
d_database()
elif choice==3:
Output:
def update_rec():
try:
rn=int(input("Enter rollno to update:"))
marks=float(input("Enter new marks:"))
gr=input("Enter Grade:")
cn.execute("update students set marks={},grade='{}' where
rno={}".format(marks,gr,rn))
db.commit()
def delete_rec():
try:
rn=int(input("Enter rollno to delete:"))
cn.execute("delete from students where rno={}".format(rn))
db.commit()
except Exception as e:
print("Error",e)
def view_rec():
try:
cn.execute("select * from students")
import mysql.connector as ms
db=ms.connect(host="localhost",user="root",passwd="root",database='school')
cn=db.cursor()
def insert_rec():
try:
while True:
sname=input("Enter name:")
marks=float(input("Enter marks:"))
gr=input("Enter grade:")
if ch in 'Nn':
break
except Exception as e:
print("Error", e)
def update_rec():
try:
gr=input("Enter Grade:")
rno={}".format(marks,gr,rn))
db.commit()
except Exception as e:
print("Error",e)
def delete_rec():
try:
db.commit()
print("Error",e)
def view_rec():
try:
data=c.fetchall()
for i in data:
print(i)
except Exception as e:
print("Error",e)
while True:
if ch==1:
insert_rec()
elif ch==2:
update_rec()
elif ch==3:
delete_rec()
elif ch==4:
elif ch==5:
break
else:
except Exception as e:
print("Error",e)
while True:
if ch==1:
insert_rec()
elif ch==2:
update_rec()
elif ch==3:
delete_rec()
elif ch==4:
view_rec()
elif ch==5:
break
else:
print("Wrong option selected")
import mysql.connector as ms
db=ms.connect(host="localhost",user="root",passwd="root",database='mydb')
cn=db.cursor()
def insert_rec():
try:
while True:
cid=int(input("Enter customer id:"))
cname=input("Enter name:")
city=input("Enter city:")
bill_amt=float(input("Enter bill amount:"))
cat=input("Enter category:")
cn.execute("insert into customer
values({},'{}','{}',{},'{}')".format(cid,cname,city,bill_amt,cat))
db.commit()
ch=input("Want more records? Press (N/n) to stop entry:")
if ch in 'Nn':
break
except Exception as e:
print("Error", e)
def update_rec():
data=cn.fetchall()
cnt=0
for i in data:
cnt=cnt+1
print("Record:",cnt)
print('~'*50)
print("Customer ID:",i[0])
print("Customer Name:",i[1])
CS PRACTICAL RECORD FILE | Page 45
print("City:",i[2])
print("Bill Amount:",i[3])
print("Category:",i[4])
print('~'*50)
except Exception as e:
print("Error",e)
while True:
print("MENU\n1. Insert Record\n2. Update Record \n3. Delete Record\n4.
Display Record \n5. Exit")
ch=int(input("Enter your choice<1-4>="))
if ch==1:
insert_rec()
elif ch==2:
update_rec()
elif ch==3:
delete_rec()
elif ch==4:
view_rec()
elif ch==5:
break
else:
print("Wrong option selected")
def byCity():
try:
city=input("Enter city to search:")
cn.execute("select * from customer where city='{}'".format(city))
data=cn.fetchall()
if data!=[]:
cnt=0
for i in data:
cnt=cnt+1
print('~'*100)
print("Record:",cnt)
print('~'*100)
print("Customer ID:",i[0])
print("Customer Name:",i[1])
print("City:",i[2])
print("Bill Amount:",i[3])
print("Category:",i[4])
else:
print("No records found for city ", city)
except Exception as e:
print("Error",e)
def byName():
try:
name=input("Enter the name:")
cn.execute("select * from customer where cname='{}'".format(name))
data=cn.fetchall()
if data!=[ ]:
CS PRACTICAL RECORD FILE | Page 50
cnt=0
for i in data:
cnt=cnt+1
print('~'*100)
print("Record:",cnt)
print('~'*100)
print("Customer ID:",i[0])
print("Customer Name:",i[1])
print("City:",i[2])
print("Bill Amount:",i[3])
print("Category:",i[4])
else:
print("No records found for ", name)
except Exception as e:
print("Error",e)
def byCat():
try:
cat=input("Enter the cat:")
cn.execute("select * from customer where category='{}'".format(cat))
data=cn.fetchall()
if data!=[]:
cnt=0
for i in data:
cnt=cnt+1
print('~'*100)
print("Record:",cnt)
print('~'*100)
CS PRACTICAL RECORD FILE | Page 51
print("Customer ID:",i[0])
print("Customer Name:",i[1])
print("City:",i[2])
print("Bill Amount:",i[3])
print("Category:",i[4])
else:
print("No records found for category ", cat)
except Exception as e:
print("Error",e)
while True:
print('''
MENU
1.Display customer details by city
2.Display customer details by bill amount
3.Display customer details by name
4.Display customer details by category
5.Exit
''')
ch=int(input("Enter your choice<1-4>="))
if ch==1:
byCity()
elif ch==2:
byBillAmt()
elif ch==3:
byName()
elif ch==4:
CS PRACTICAL RECORD FILE | Page 52
byCat()
elif ch==5:
break
else:
print("Wrong option selected")
Output: