Python Lab Manual 2025-ETE-R Section
Python Lab Manual 2025-ETE-R Section
Department of
Electronics & Telecommunication Engineering
Laboratory Manual
II Semester
To establish and develop the Institute as a centre of higher learning, ever abreast with expanding
horizon of knowledge in the field of engineering and technology, with entrepreneurial thinking,
leadership excellence for life-long success and solve societal problem.
1. Provide high quality education in the engineering disciplines from the undergraduate through doctoral levels
with creative academic and professional programs.
2. Develop the Institute as a leader in Science, Engineering, Technology and management, Research and apply
knowledge for the benefit of society.
3. Establish mutual beneficial partnerships with industry, alumni, local, state and central governments by public
service assistance and collaborative research.
CLO1. Learn the syntax and semantics of the Python programming language.
CLO2. Illustrate the process of structuring the data using lists, tuples.
CLO3. Demonstrate the use of built-in functions to navigate the file system.
CLO4. Implement the Object Oriented Programming concepts in Python.
CLO5. Appraise the need for working with various documents like Excel, PDF, Word and Others.
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11
CO1 3 2 2
CO2 3 3 2
BPLCK205B
CO3 3 2 3
CO4 3 2 3
CO5 3 3 2 2
Introduction to Python Programming Laboratory
1. a. Develop a program to read the student details like Name, USN, and Marks in three
subjects. Display the student details, total marks and percentage with suitable messages.
b. Develop a program to read the name and year of birth of a person. Display whether the
person is a senior citizen or not.
2. Read N numbers from the console and create a list. Develop a program to print mean,
variance and standard deviation with suitable messages.
3. Read a multi-digit number (as chars) from the console. Develop a program to print the
frequency of each digit with suitable message.
4. Develop a program to print 10 most frequently appearing words in a text file. [Hint: Use
dictionary with distinct words and their frequency of occurrences. Sort the dictionary in the
reverse order of frequency and display dictionary slice of first 10 items]
5. Develop a program to sort the contents of a text file and write the sorted contents into a
separate text file. [Hint: Use string methods strip(), len(), list methods sort(), append(), and
file methods open(), readlines(), and write()].
6. Develop a program to backing Up a given Folder (Folder in a current working directory)
into a ZIP File by using relevant modules and suitable methods.
7. Write a function named DivExp which takes TWO parameters a, b and returns a value c
(c=a/b). Write suitable assertion for a>0 in function DivExp and raise an exception for when
b=0. Develop a suitable program which reads two values from the console and calls a
function DivExp.
8. Define a function which takes TWO objects representing complex numbers and returns new
complex number with a addition of two complex numbers. Define a suitable class
‘Complex’ to represent the complex number. Develop a program to read N (N >=2)
complex numbers and to compute the addition of N complex numbers.
9. Develop a program that uses class Student which prompts the user to enter marks in three
subjects and calculates total marks, percentage and displays the score card details. [Hint:
Use list to store the marks in three subjects and total marks. Use _init_() method to initialize
name, USN and the lists to store marks and total, Use getMarks() method to read marks
into the list, and display() method to display the score card details.]
10. a. Write a python program to download the all XKCD comics
b. Demonstrate python program to read the data from the spreadsheet and write the data in
to the spreadsheet.
BPLCK205B Introduction to Python Programming Laboratory
SCHEDULE OF EXPERIMENTS
LABORATORY
General Lab Guidelines:
1. Conduct yourself in a responsible manner at all times in the laboratory. Intentional
misconduct will lead to exclusion from the lab.
2. Do not wander around, or distract other students, or interfere with the laboratory
experiments of other students.
3. Read the handout and procedures before starting the experiments. Follow all written
and verbal instructions carefully.
4. If you do not understand the procedures, ask the instructor or teaching assistant.
Attendance in all the labs is mandatory, absence permitted only with prior permission
from the Class teacher.
5. The workplace has to be tidy before, during and after the experiment.
6. Do not eat food, drink beverages or chew gum in the laboratory.
7. Every student should know the location and operating procedures of all Safety
equipment including First Aid Kit and Fire extinguisher.
DO’S:-
1. An ID card is a must.
2. Keep your belongings in a designated area.
3. Sign the log book when you enter/leave the laboratory.
4. Records have to be submitted every week for evaluation.
5. The program to be executed in the respective lab session has to be written in the lab
observation copy beforehand.
6. After the lab session, shut down the computers.
7. Report any problem in system (if any) to the person in-charge
DON'TS:-
1. Do not insert metal objects such as clips, pins and needles into the computer
casings(They may cause fire) and should not attempt to repair, open, tamper or interfere
with any of the computer, printing, cabling, or other equipment in the laboratory.
2. Do not change the system settings and keyboard keys.
3. Do not upload, delete or alter any software/ system files on laboratory computers.
4. No additional material should be carried by the students during regular labs.
5. Do not open any irrelevant websites in labs.
6. Do not use a flash drive on lab computers without the consent of the lab instructor.
7. Students are not allowed to work in the Laboratory alone or without the presence of the
instructor/teaching assistant.
PYTHON PROGRAMMING
Python is a popular programming language. It was created by Guido van Rossum, and
released in 1991.
It is used for:
Why Python?
Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
Python has a simple syntax similar to the English language.
Python has syntax that allows developers to write programs with fewer lines than
some other programming languages.
Python runs on an interpreter system, meaning that code can be executed as soon as it
is written. This means that prototyping can be very quick.
Python can be treated in a procedural way, an object-oriented way or a functional
way.
Python Install
To check if you have python installed on a Windows PC, search in the start bar for Python or
run the following on the Command Line (cmd.exe):
To check if you have python installed on a Linux or Mac, then on linux open the command
line or on Mac open the Terminal and type:
python --version
Python Syntax
Or by creating a python file on the server, using the .py file extension, and running it in the
Command Line:
Python Indentation
Where in other programming languages the indentation in code is for readability only, the
indentation in Python is very important.
if 5 > 2:
print("Five is greater than two!")
Python Comments
Creating a Comment
#This is a comment
print("Hello, World!")
Multiline Comments
#This is a comment
#written in
#more than just one line
print("Hello, World!")
Python Variables
Creating Variables
x=5
y = "John"
print(x)
print(y)
Variables can store data of different types, and different types can do different things.
Python has the following data types built-in by default, in these categories:
Python Strings
Strings in python are surrounded by either single quotation marks, or double quotation marks.
Python Booleans
Boolean Values
You can evaluate any expression in Python, and get one of two answers, True or False.
print(10 > 9)
print(10 == 9)
print(10 < 9)
Python Operators
In the example below, we use the + operator to add together two values:
print(10 + 5)
Arithmetic operators
Assignment operators
Comparison operators
Logical operators
Identity operators
Membership operators
Bitwise operators
Python Lists
Lists are one of 4 built-in data types in Python used to store collections of data, the other 3
are Tuple, Set, and Dictionary, all with different qualities and usage.
Equals: a == b
Not Equals: a != b
Python Loops
while loops
for loops
while Loop
With the while loop we can execute a set of statements as long as a condition is true.
i=1
while i < 6:
print(i)
i += 1
For Loops
A for loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a set,
or a string).
This is less like the for keyword in other programming languages, and works more like an
iterator method as found in other object-orientated programming languages.
With the for loop we can execute a set of statements, once for each item in a list, tuple, set
etc.
SAMPLE PROGRAMS
x=4
y=3
print (x + y)
# initialize sum
sum = 0
LAB PROGRAMS
PROGRAM 1
A. Develop a program to read the student details like Name, USN, and Marks in
three subjects. Display the student details, total marks and percentage with
suitable messages.
Output
Enter the name of the student : abc
Enter the USN of the student : 1234
Enter Max marks in Subject 1 : 100
Enter Max marks in Subject 2 : 100
Enter Max marks in Subject 3 : 100
Enter marks in Subject 1 : 90
Enter marks in Subject 2 : 98
Enter marks in Subject 3 : 97
Student Details
=========================
Name : abc
USN : 1234
Marks 1 : 90
Marks 2 : 98
Marks 3 : 97
Total : 285
Percent : 95.0
=========================
B. Develop a program to read the name and year of birth of a person. Display
whether the person is a senior citizen or not.
Output
=================================
PROGRAM 2
Read N numbers from the console and create a list. Develop a program to print mean,
variance, and standard deviation with suitable messages.
Output
Mean = 58.4
Variance = 642.64
Standard Deviation = 25.35
PROGRAM 3
Read a multi-digit number (as chars) from the console. Develop a program to print the
frequency of each digit with suitable message.
Output
Enter a number : 234939
The number entered is : 234939
4 occurs 1 times
9 occurs 2 times
3 occurs 2 times
2 occurs 1 times
PROGRAM 4
Develop a program to print 10 most frequently appearing words in a text file. [Hint: Use
dictionary with distinct words and their frequency of occurrences. Sort the dictionary in
the reverse order of frequency and display dictionary slice of first 10 items].
ifile= open("python.txt")
dict_words={}
for line in ifile:
words = line.split()
for word in words:
dict_words[word]=dict_words.get(word,0)+1
list_words=[]
for key,val in dict_words.items():
list_words.append((val,key))
list_words.sort(reverse=True)
print("The slice of visit 10 items of sorted dictionary are:")
print(list_words[0:10])
Output
Enter the filename : python.txt
===================================================
10 most frequently appearing words with their count
===================================================
the occurs 45 times
of occurs 24 times
party occurs 12 times
part occurs 12 times
a occurs 9 times
and occurs 8 times
second occurs 7 times
to occurs 6 times
shall occurs 6 times
first occurs 5 times
PROGRAM 5
Develop a program to sort the contents of a text file and write the sorted contents into a
separate text file. [Hint: Use string methods strip(), len(), list methods sort(), append(), and
file methods open(), readlines(), and write()].
import os.path
import sys
fname = input("Enter the filename whose contents are to be sorted : ") #sample
file unsorted.txt also provided
if not os.path.isfile(fname):
print("File", fname, "doesn’t exists")
sys.exit(0)
infile = open(fname, "r")
myList = infile.readlines()
# print(myList)
Output
Enter the filename whose contents are to be sorted : unsorted.txt
PROGRAM 6
Develop a program to backing Up a given Folder (Folder in a current working
directory) into a ZIP File by using relevant modules and suitable methods.
import os
import sys
import pathlib
import zipfile
dirName = input("Enter Directory name that you want to backup : ")
if not os.path.isdir(dirName):
print("Directory", dirName, "doesn’t exists")
sys.exit(0)
curDirectory = pathlib.Path(dirName)
with zipfile.ZipFile("myZip.zip", mode="w") as archive:
for file_path in curDirectory.rglob("*"):
archive.write(file_path, arcname=file_path.relative_to(curDirectory))
if os.path.isfile("myZip.zip"):
print("Archive", "myZip.zip", "created successfully")
else:
print("Error in creating zip archive")
Output
PROGRAM 7
Write a function named DivExp which takes TWO parameters a, b and returns a
value c (c=a/b). Write suitable assertion for a greater than 0 in function DivExp and
raise an exception for when b=0. Develop a suitable program which reads two values
from the console and calls a function DivExp.
import sys
def DivExp(a,b):
assert a>0, "a should be greater than 0"
try:
c = a/b
except ZeroDivisionError:
print("Value of b cannot be zero")
sys.exit(0)
else:
return c
val1 = int(input("Enter a value for a : "))
val2 = int(input("Enter a value for b : "))
val3 = DivExp(val1, val2)
print(val1, "/", val2, "=", val3)
OUTPUT
Enter a value for a : 7
Enter a value for b : 6
7 / 6 = 1.1666666666666667
PROGRAM 8
Define a function which takes 2 objects representing complex numbers and returns new
complex number with a addition of two complex numbers. Define a suitable class Complex
to represent the complex number. Develop a program to read N (N greater than 2)
complex numbers and to compute the addition of N complex numbers.
class Complex:
def init (self, realp = 0, imagp=0):
self.realp = realp
self.imagp = imagp
def setComplex(self, realp, imagp):
self.realp = realp
self.imagp = imagp
def readComplex(self):
self.realp = int(input("Enter the real part : "))
self.imagp = int(input("Enter the real part : "))
def showComplex(self):
print('(',self.realp,')','+i','(',self.imagp,')',sep="")
def addComplex(self, c2):
c3 = Complex()
c3.realp = self.realp + c2.realp
c3.imagp = self.imagp + c2.imagp
return c3
def add2Complex(a,b):
c = a.addComplex(b)
return c
def main():
c1 = Complex(3,5)
c2 = Complex(6,4)
print("Complex Number 1")
c1.showComplex()
print("Complex Number 2")
c2.showComplex()
c3 = add2Complex(c1, c2)
for i in range(num):
print("Object", i+1)
obj = Complex()
obj.readComplex()
compList.append(obj)
print("\nEntered Complex numbers are : ")
for obj in compList:
obj.showComplex()
sumObj = Complex()
for obj in compList:
sumObj = add2Complex(sumObj, obj)
print("\nSum of N complex numbers is", end = " ")
sumObj.showComplex()
main()
Output
Complex Number 1
(3)+i(5)
Complex Number 2
(6)+i(4)
Sum of two Complex Numbers
(9)+i(9)
PROGRAM 9
Develop a program that uses class Student which prompts the user to enter marks in
three subjects and calculates total marks, percentage and displays the score card details.
[Hint: Use list to store the marks in three subjects and total marks. Use init method to
initialize name, USN and the lists to store marks and total, Use getMarks() method to
read marks into the list, and display() method to display the score card details.]
class Student:
def init (self, name = "", usn = "", score = [0,0,0,0]):
self.name = name
self.usn = usn
self.score = score
def getMarks(self):
self.name = input("Enter student Name : ")
self.usn = input("Enter student USN : ")
self.score[0] = int(input("Enter marks in Subject 1 : "))
self.score[1] = int(input("Enter marks in Subject 2 : "))
self.score[2] = int(input("Enter marks in Subject 3 : "))
self.score[3] = self.score[0] + self.score[1] + self.score[2]
def display(self):
percentage = self.score[3]/3
spcstr = "=" * 81
print(spcstr)
print("SCORE CARD DETAILS".center(81))
print(spcstr)
print("NAME","USN","MARKS1","MARKS2","MARKS3","TOTAL",
"PERCENTAGE")
print(spcstr)
print("%15s"%self.name, "%12s"%self.usn,"%8d"%self.score[0],
"%8d"%self.score[1],"%8d"%self.score[2], "%8d"%self.score[3],
"%12.2f"%percentage)
print(spcstr)
def main():
s1 = Student()
s1.getMarks()
s1.display()
main()
Output
Enter student Name : vi
Enter student USN : 123
Enter marks in Subject 1 : 23
Enter marks in Subject 2 : 22
Enter marks in Subject 3 : 24
=================================================================
================
SCORE CARD DETAILS
=================================================================
================
NAME USN MARKS1 MARKS2 MARKS3 TOTAL PERCENTAGE
=================================================================
================
vi 123 23 22 24 69 23.00
PROGRAM 10
A. Write a python program to download the all XKCD
comics
#! python3
# downloadXkcd.py - Downloads every single XKCD comic.
import requests, os, bs4
import urllib3
flag = 'y'
url = 'http://xkcd.com' # starting url
os.makedirs('xkcd2', exist_ok=True) # store comics in ./xkcd
res = requests.get(url)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text,'html.parser')
prevLink = soup.select('a[rel="prev"]')[0]
img_no = int(((prevLink.get('href')).split('/'))[1])+1
print("Total images there are", img_no)
while (flag == 'y' or flag == 'Y'):
print("Enter the number between 1 and",img_no)
url_img_no = input()
url = 'http://xkcd.com'
url = url + '/' + url_img_no
res = requests.get(url)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text,'html.parser')
comicElem = soup.select('#comic img')
if comicElem == []:
print('Could not find comic image.')
else:
comicUrl = 'http:' + comicElem[0].get('src')
# Download the image.
print('Downloading image %s...' % (comicUrl))
res = requests.get(comicUrl)
res.raise_for_status()
# Save the image to ./xkcd.
imageFile = open(os.path.join('xkcd2', os.path.basename(comicUrl)), 'wb')
BIT, Bengaluru-04 Page 29
BPLCK205B Introduction to Python Programming Laboratory
Output
Total images there are 3072
Enter the number between 1 and 3072
356
Downloading image http://imgs.xkcd.com/comics/nerd_sniping.png...
Enter y to continue y
Enter the number between 1 and 3072
679
Downloading image http://imgs.xkcd.com/comics/christmas_plans.png...
Enter y to continue
B. Demonstrate python program to read the data from the spreadsheet and write the data
in to the spreadsheet.
from openpyxl import Workbook
from openpyxl.styles import Font
wb = Workbook()
sheet = wb.active
sheet.title = "Language"
wb.create_sheet(title = "Capital")
lang = ["Kannada", "Telugu", "Tamil"]
state = ["Karnataka", "Telangana", "Tamil Nadu"]
capital = ["Bengaluru", "Hyderabad", "Chennai"]
code =['KA', 'TS', 'TN']
sheet.cell(row = 1, column = 1).value = "State"
sheet.cell(row = 1, column = 2).value = "Language"
sheet.cell(row = 1, column = 3).value = "Code"
sheet.cell(row = 1, column = 4).value = "capital"
ft = Font(bold=True)
for row in sheet["A1:D1"]:
for cell in row:
cell.font = ft
for i in range(2,5):
sheet.cell(row = i, column = 1).value = state[i-2]
sheet.cell(row = i, column = 2).value = lang[i-2]
sheet.cell(row = i, column = 3).value = code[i-2]
sheet.cell(row = i, column = 4).value = capital[i-2]
wb.save("demo.xlsx")
srchCode = input("Enter state code for finding capital ")
for i in range(2,5):
data = sheet.cell(row = i, column = 3).value
if data == srchCode:
print("Corresponding capital for code", srchCode, "is",sheet.cell(row = i,
column = 4).value)
sheet = wb["Language"]
Output
Enter state code for finding capital KA
Corresponding capital for code KA is Bengaluru
Enter state code for finding language TS
Corresponding language for code TS is Telugu
if calendar.isleap(year):
print(year, "is a leap year.")
else:
print(year, "is not a leap year.")
1
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
def is_prime(number):
if number <= 1:
return False
for i in range(2, int(number ** 0.5) + 1):
if number % i == 0:
return False
return True
2
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
3
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
6) Develop a python program to find sum & average of all the elements in list
# Function to calculate sum of list elements
def calculate_sum(numbers):
total_sum = sum(numbers)
return total_sum
# Main program
num_list = []
n = int(input("Enter the number of elements in the list: "))
# Input list elements
for i in range(n):
num = float(input("Enter element {}: ".format(i+1)))
num_list.append(num)
4
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
# Main program
num_list = []
n = int(input("Enter the number of elements in the list: "))
descending_list = sort_descending(num_list)
# Main program
num_list = []
n = int(input("Enter the number of elements in the list: "))
6
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
# Sort by value
sorted_by_value = sorted(data, key=sort_by_value)
# Sort by key
sorted_by_key = sorted(data, key=sort_by_key)
7
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
print("\nSorted by key:")
for item in sorted_by_key:
print(item)
11) Develop a python program to append text to a file and display the text
# Function to append text to a file
def append_to_file(filename, text):
with open(filename, 'a') as file:
file.write(text)
print("Text appended to the file successfully.")
8
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
contents = file.read()
print("File contents:")
print(contents)
# Main program
filename = "sample.txt"
text_to_append = input("Enter the text to append to the file: ")
12) Develop a python program to count the total number of upper case, lower
case & digits used in text file
def count_characters(filename):
uppercase_count = 0
lowercase_count = 0
digit_count = 0
9
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
filename = "sample.txt"
# Example usages
divide_numbers(10, 2) # Normal division
divide_numbers(10, 0) # Division by zero
divide_numbers(10, "2") # Invalid data types
divide_numbers(10) # Missing second argument
10
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
14) Develop a python program, define a class and object, construct the class
called rectangle and initialize it with height = 100, width = 200, starting point
as (x=0, y = 0). Write a program to display the centre point coordinates of a
rectangle.
class Rectangle:
def init (self, height, width, x, y):
self.height = height
self.width = width
self.x = x
self.y = y
def calculate_center_point(self):
center_x = self.x + (self.width / 2)
center_y = self.y + (self.height / 2)
return center_x, center_y
11
INTRODUCTION TO PYTHON PROGRAMMING – BPLCK205B
# Perform addition
result = c1 + c2
12