Python Lab Manual

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

BANGALORE INSTITUTE OF TECHNOLOGY

K.R. ROAD, V.V. PURA, BENGALURU -560 004

Department of CSE(IoT & Cyber Security including Blockchain Technology)

Introduction to Python Programming Laboratory Manual


(BPLCK205B)

II- Semester

Prepared by
Asst Prof. Nagabushan P
Dept of CSE(ICB), BIT
Program Outcomes

1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering


fundamentals, and an engineering specialization to the solution of complex engineering problems.
2. Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences, and engineering sciences.
3. Design/development of solutions: Design solutions for complex engineering problems and design
system components or processes that meet the specified needs with appropriate consideration for
the public health and safety, and the cultural, societal, and environmental considerations.
4. Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities with
an understanding of the limitations.
6. The engineer and society: Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the
professional engineering practice.
7. Environment and sustainability: Understand the impact of the professional engineering solutions
in societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable
development.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms
of the engineering practice.
9. Individual and team work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.
10. Communication: Communicate effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive clear
instructions.
11. Project management and finance: Demonstrate knowledge and understanding of the engineering
and management principles and apply these to one’s own work, as a member and leader in a team,
to manage projects and in multidisciplinary environments.
12. Life-long learning: Recognize the need for, and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change.
COURSE LEARNING OBJECTIVES (CLO)

CLO1. Learn the syntax and semantics of the Python programming language.
CLO2. Illustrate the process of structuring the data using lists, tuples and dictionaries.

CLO3. Appraise the need for working with various documents like Excel, PDF, Word and Others.
CLO4. Demonstrate the use of built-in functions to navigate the file system.
CLO5. Implement the Object Oriented Programming concepts in Python.

COURSE OUTCOMES (CO)

At the end of the course the student will be able to:


CO1. Demonstrate proficiency in handling loops and creation of functions.
CO2. Identify the methods to create and manipulate lists, tuples and dictionaries.
CO3. Develop programs for string processing and file organization
CO4. Interpret the concepts of Object-Oriented Programming as used in Python.

CO TO PO & PSO MAPPING 1/2/3

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2

BPLCK205 CO1 3 1 1 1
B

CO2 3 1 1 1

CO3 3 1 1 1 1 1 1

CO4 3 1 1 1 1 1 1
Introduction to Python Programming Laboratory

Subject Code: BPLCK205B I.A. Marks: 25


Hours/Week: 02 Total Hours: 20
LIST OF PROGRAMS
Sl. Name of Experiment
No.
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. a. Develop a program to generate Fibonacci sequence of length (N). Read N from the console.
b. Write a function to calculate factorial of a number. Develop a program to compute binomial
coefficient (Given N and R).
3. Read N numbers from the console and create a list. Develop a program to print mean, variance and
standard deviation with suitable messages.
4. Read a multi-digit number (as chars) from the console. Develop a program to print the frequency of
each digit with suitable message.
5. 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]
6. 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()].
7. 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.
8. 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.
9 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.
10 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.]
BPLCK205B Introduction to Python Programming Laboratory
Python Programming Laboratory

Subject Code: BPLCK205B I.A. Marks: 25


Hours/Week: 02 Total Hours: 20

SCHEDULE OF EXPERIMENTS

Sl. No Name of Experiment WEEK


1 Sample programs Week1
2 Sample programs Week2
3 Student Details, Senior Citizen Check Week3
4 Fibonacci Sequence, Binomial Coefficient Week4
5 Mean, Variance and Standard Deviation Week5
6 Digit Frequency Week6
7 Word Frequency Week7
8 Sort File Contents Week8
9 Backup Directory into Zip Week9
10 Assertions and Exceptions Demo Week10
11 Complex Class Demo Week11
12 Student Class Demo Week12

Dept. of CSE(ICB), BIT 2024-2025 Page 1


BPLCK205B Introduction to Python Programming Laboratory
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.

Dept. of CSE(ICB), BIT 2024-2025 Page 2


BPLCK205B Introduction to Python Programming Laboratory

PYTHON PROGRAMMING

Python is a popular programming language. It was created by Guido van Rossum, and
released in 1991.

It is used for:

· web development (server-side),


· software development,
· mathematics,
· system scripting.

What can Python do?

· Python can be used on a server to create web applications.


· Python can be used alongside software to create workflows.
· Python can connect to database systems. It can also read and modify files.
· Python can be used to handle big data and perform complex mathematics.
· Python can be used for rapid prototyping, or for production-ready software
development.

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):

Dept. of CSE(ICB), BIT 2024-2025 Page 3


BPLCK205B Introduction to Python Programming Laboratory

C:\Users\Your Name>python --version

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

Python syntax can be executed by writing directly in the Command Line:

>>> print("Hello, World!")


Hello, World!

Or by creating a python file on the server, using the .py file extension, and running it in the
Command Line:

C:\Users\Your Name>python myfile.py

Python Indentation

Indentation refers to the spaces at the beginning of a code line.

Where in other programming languages the indentation in code is for readability only, the
indentation in Python is very important.

Python uses indentation to indicate a block of code.

if 5 > 2:
print("Five is greater than two!")

Python Comments

· Comments can be used to explain Python code.

· Comments can be used to make the code more readable.

· Comments can be used to prevent execution when testing code.

Dept. of CSE(ICB), BIT 2024-2025 Page 4


BPLCK205B Introduction to Python Programming Laboratory

· Creating a Comment

Comments starts with a #, and Python will ignore them:

#This is a comment
print("Hello, World!")

Multiline Comments

Python does not really have a syntax for multiline comments.

To add a multiline comment you could insert a # for each line:

#This is a comment
#written in
#more than just one line
print("Hello, World!")

Python Variables

Variables are containers for storing data values.

Creating Variables

Python has no command for declaring a variable.

A variable is created the moment you first assign a value to it.

x=5
y = "John"
print(x)
print(y)

Python Data Types

Built-in Data Types

In programming, data type is an important concept.

Dept. of CSE(ICB), BIT 2024-2025 Page 5


BPLCK205B Introduction to Python Programming Laboratory

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:

Text Type: str

Numeric Types: int, float, complex

Sequence Types: list, tuple, range

Mapping Type: dict

Set Types: set, frozenset

Boolean Type: bool

Binary Types: bytes, bytearray, memoryview

None Type: NoneType

Python Strings

Strings in python are surrounded by either single quotation marks, or double quotation marks.

'hello' is the same as "hello".

Python Booleans

Booleans represent one of two values: True or False.

Boolean Values

In programming you often need to know if an expression is True or False.

You can evaluate any expression in Python, and get one of two answers, True or False.

Dept. of CSE(ICB), BIT 2024-2025 Page 6


BPLCK205B Introduction to Python Programming Laboratory

print(10 > 9)
print(10 == 9)
print(10 < 9)

Python Operators

Operators are used to perform operations on variables and values.

In the example below, we use the + operator to add together two values:

print(10 + 5)

Python divides the operators in the following groups:

· Arithmetic operators
· Assignment operators
· Comparison operators
· Logical operators
· Identity operators
· Membership operators
· Bitwise operators

Python Lists

Lists are used to store multiple items in a single variable.

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.

thislist = ["apple", "banana", "cherry"]


print(thislist)

Python If ... Else

Python supports the usual logical conditions from mathematics:

· Equals: a == b
· Not Equals: a != b

Dept. of CSE(ICB), BIT 2024-2025 Page 7


BPLCK205B Introduction to Python Programming Laboratory

· Less than: a < b


· Less than or equal to: a <= b
· Greater than: a > b
· Greater than or equal to: a >= b

Python Loops

Python has two primitive loop commands:

· 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.

fruits = ["apple", "banana", "cherry"]


for x in fruits:
print(x)

Dept. of CSE(ICB), BIT 2024-2025 Page 8


BPLCK205B Introduction to Python Programming Laboratory

SAMPLE PROGRAMS

1. Python Program to Print Hello world!

print ('Hello Python')


2. Python Program to Add Two Numbers

x=4

y=3

print (x + y)

3. Python Program to Find the Square Root

num = float (input ('Enter a number: '))

num_sqrt = num ** 0.5

print ('The square root of %0.3f is %0.3f' % (num ,num_sqrt))

4. Python Program to Find the Sum of Natural Numbers


# Sum of natural numbers up to num
num = 16
if num < 0:
print("Enter a positive number")
else:
sum = 0
# use while loop to iterate until zero
while(num > 0):
sum += num
num -= 1
print("The sum is", sum)

Dept. of CSE(ICB), BIT 2024-2025 Page 9


BPLCK205B Introduction to Python Programming Laboratory

5. Python Program to Check Armstrong Number

# take input from the user

num = int(input("Enter a number: "))

# initialize sum

sum = 0

# find the sum of the cube of each digit

temp = num

while temp > 0:

digit = temp % 10

sum += digit ** (len(str(num)))

temp //= 10

# display the result

if num == sum:

print(num,"is an Armstrong number")

else:

print(num,"is not an Armstrong number")

Dept. of CSE(ICB), BIT 2024-2025 Page 10


BPLCK205B Introduction to Python Programming Laboratory

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.

stName = input("Enter the name of the student : ")


stUSN = input("Enter the USN of the student : ")
MaxMarks1= int(input("Enter Max marks in Subject 1 : "))
MaxMarks2=int(input("Enter Max marks in Subject 2 : "))
MaxMarks3=int(input("Enter Max marks in Subject 3 : "))
stMarks1 = int(input("Enter marks in Subject 1 : "))
stMarks2 = int(input("Enter marks in Subject 2 : "))
stMarks3 = int(input("Enter marks in Subject 3 : "))
print("Student Details\n=========================")
print ("Name :", stName)
print("USN :", stUSN)
print("Marks 1 :", stMarks1)
print("Marks 2 :", stMarks2)
print("Marks 3 :", stMarks3)
print("Total :", stMarks1+stMarks2+stMarks3)
print("Percent :",(stMarks1+stMarks2+stMarks3)/3)
print("=========================")

Output

Enter the name of the student : abc Student Details


Enter the USN of the student : 1234 =========================
Enter Max marks in Subject 1 : 100 Name : abc USN : 1234
Enter Max marks in Subject 2 : 100 Marks 1 : 90
Enter Max marks in Subject 3 : 100 Marks 2 : 98
Enter marks in Subject 1 : 90 Marks 3 : 97
Enter marks in Subject 2 : 98 Total : 285
Enter marks in Subject 3 : 97 Percent : 95.0
=========================

Dept. of CSE(ICB), BIT 2024-2025 Page 11


BPLCK205B Introduction to Python Programming Laboratory

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.

import datetime

perName = input("Enter the name of the person : ")


perDOB = input("Enter DOB in DD-MM-YYYY : ")
day,month,year = map(int, perDOB.split("-"))
today=datetime.date.today()

perAge = today.year - year - ((today.month, today.day) < (month, day))

if (perAge > 60):


print(perName, "aged", perAge, "years is a Senior Citizen.")
else:
print(perName, "aged", perAge, "years is not a Senior Citizen.")

Output

=================================

Enter the name of the person : ABC

Enter DOB in DD-MM-YYYY : 06-05-1985

ABC aged 39 years is not a Senior Citizen.

Enter the name of the person : Travis

Enter DOB in DD-MM-YYYY : 05-06-1951

Travis aged 72 years is a Senior Citize

Dept. of CSE(ICB), BIT 2024-2025 Page 12


BPLCK205B Introduction to Python Programming Laboratory

PROGRAM 2
A. Develop a program to generate Fibonacci sequence of length (N). Read N from the
console.

num = int(input("Enter the Fibonacci sequence length to be generated : "))


firstTerm = 0
secondTerm = 1
print("The Fibonacci series with", num, "terms is :")
print(firstTerm, secondTerm, end=" ")
for i in range(2,num):
curTerm = firstTerm + secondTerm
print(curTerm, end=" ")
firstTerm = secondTerm
secondTerm = curTerm
print()

Output
Enter the Fibonacci sequence length to be generated : 8
The Fibonacci series with 8 terms is :
0 1 1 2 3 5 8 13
Enter the Fibonacci sequence length to be generated : 5
The Fibonacci series with 5 terms is :
0 1123

Dept. of CSE(ICB), BIT 2024-2025 Page 13


BPLCK205B Introduction to Python Programming Laboratory

B. Write a function to calculate factorial of a number. Develop a program to compute


binomial coefficient (Given N and R).

def fact(num):
if num == 0:
return 1
else:
return num * fact(num-1)
n = int(input("Enter the value of N : "))
r = int(input("Enter the value of R (R cannot be negative or greater than N): "))
nCr = fact(n)/(fact(r)*fact(n-r))
print("Answer for ncr is: ",nCr)

Output
Enter the value of N : 5
Enter the value of R (R cannot be negative or greater than N): 5
Answer for ncr is 1.0

Enter the value of N : 8


Enter the value of R (R cannot be negative or greater than N): 0
Answer for ncr is 1.0

Dept. of CSE(ICB), BIT 2024-2025 Page 14


BPLCK205B Introduction to Python Programming Laboratory

PROGRAM 3
Read N numbers from the console and create a list. Develop a program to print mean,
variance, and standard deviation with suitable messages.

from math import sqrt


myList = []
num = int(input("Enter the number of elements in your list : "))
for i in range(num):
val = int(input("Enter the element : "))
myList.append(val)
print('The length of list1 is', len(myList))
print('List Contents', myList)
total = 0
for elem in myList:
total += elem
mean = total / num
total = 0
for elem in myList:
total += (elem - mean) * (elem - mean)
variance = total / num
stdDev = sqrt(variance)
print("Mean =", mean)
print("Variance =", variance)
print("Standard Deviation =", stdDev)
Output
Enter the number of elements in your list : 5
Enter the element : 45
Enter the element : 34
Enter the element : 86
Enter the element : 92
Enter the element : 35
The length of list1 is 5
List Contents [45, 34, 86, 92, 35]
Mean = 58.4
Variance = 642.64
Standard Deviation = 25.35

Dept. of CSE(ICB), BIT 2024-2025 Page 15


BPLCK205B Introduction to Python Programming Laboratory

PROGRAM 4
Read a multi-digit number (as chars) from the console. Develop a program to print the
frequency of each digit with suitable message.

num = input("Enter a number : ")


print("The number entered is :", num)
uniqDig = set(num)
for elem in uniqDig:
print(elem, "occurs", num.count(elem), "times")

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

Enter a number : 7843338


The number entered is : 7843338
7 occurs 1 times
4 occurs 1 times
3 occurs 3 times
8 occurs 2 times

Dept. of CSE(ICB), BIT 2024-2025 Page 16


BPLCK205B Introduction to Python Programming Laboratory

PROGRAM 5
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

Dept. of CSE(ICB), BIT 2024-2025 Page 17


BPLCK205B Introduction to Python Programming Laboratory

PROGRAM 6
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)

#Remove trailing \n characters


lineList = []
for line in myList:
lineList.append(line.strip())

lineList.sort()
#Write sorted contents to new file sorted.txt
outfile = open("sorted.txt","w")
for line in lineList:
outfile.write(line + "\n")
infile.close() # Close the input file
outfile.close() # Close the output file
if os.path.isfile("sorted.txt"):
print("\nFile containing sorted content sorted.txt created successfully")
print("sorted.txt contains", len(lineList), "lines")
print("Contents of sorted.txt") print("================================================")

Dept. of CSE(ICB), BIT 2024-2025 Page 18


BPLCK205B Introduction to Python Programming Laboratory

rdFile = open("sorted.txt","r")
for line in rdFile:
print(line, end="")

Output
Enter the filename whose contents are to be sorted : unsorted.txt

File containing sorted content sorted.txt created successfully


sorted.txt contains 15 lines
Contents of sorted.txt
=================================================================
A deep C diva.
All the troubles you have will pass away very quickly.
Beware of a tall black man with one blond shoe.
Don’t read everything you believe.
Exercise caution in your daily affairs.
He changes the domain.
How does a hacker fix a function which doesn’t work for all of the elements in its
domain?
Lay on, MacDuff, and curs’d be him who first cries, "Hold, enough!".
People are beginning to notice you. Try dressing before you leave the house.
The surest protection against temptation is cowardice.
To be or not to be.
Tuesday is the Wednesday of the rest of your life.
What is the square root of 4bˆ2?
You display the wonderful traits of charm and courtesy.
You may be recognized soon. Hide.

Dept. of CSE(ICB), BIT 2024-2025 Page 19


BPLCK205B Introduction to Python Programming Laboratory

PROGRAM 7
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

Enter Directory name that you want to backup : zipDemo


Archive myZip.zip created successfully

Dept. of CSE(ICB), BIT 2024-2025 Page 20


BPLCK205B Introduction to Python Programming Laboratory

PROGRAM 8
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

Enter a value for a : 0


Enter a value for b : 5
AssertionError: a should be greater than 0

Enter a value for a : -3


Enter a value for b : 6
AssertionError: a should be greater than 0

Enter a value for a : 6


Enter a value for b : 0
Value of b cannot be zero

Dept. of CSE(ICB), BIT 2024-2025 Page 21


BPLCK205B Introduction to Python Programming Laboratory

PROGRAM 9
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)

Dept. of CSE(ICB), BIT 2024-2025 Page 22


BPLCK205B Introduction to Python Programming Laboratory

print("Complex Number 1")


c1.showComplex()
print("Complex Number 2")
c2.showComplex()
c3 = add2Complex(c1, c2)
print("Sum of two Complex Numbers")
c3.showComplex()
compList = []
num = int(input("\nEnter the value for N : "))

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)

Dept. of CSE(ICB), BIT 2024-2025 Page 23


BPLCK205B Introduction to Python Programming Laboratory

Enter the value for N : 5


Object 1
Enter the real part : 1
Enter the real part : 9
Object 2
Enter the real part : 2
Enter the real part : 8
Object 3
Enter the real part : 3
Enter the real part : 7
Object 4
Enter the real part : 4
Enter the real part : 6
Object 5
Enter the real part : 5
Enter the real part : 5

Entered Complex numbers are :


(1)+i(9)
(2) +i(8)
(3) +i(7)
(4) +i(6)
(5) +i(5)

Sum of N complex numbers is (15)+i(35)

Dept. of CSE(ICB), BIT 2024-2025 Page 24


BPLCK205B Introduction to Python Programming Laboratory

PROGRAM 10
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)

Dept. of CSE(ICB), BIT 2024-2025 Page 25


BPLCK205B Introduction to Python Programming Laboratory

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
=================================================================

Dept. of CSE(ICB), BIT 2024-2025 Page 26

You might also like