Python Manual
Python Manual
(BPLCK105B/205B)
I/II Semester
(common to all branches)
LAB MANUAL
1 Question 1 1
1.1 Student Details ............................................................................................................................................................ 1
1.2 Senior Citizen Check ........................................................................................................................................... 2
2 Question 2 4
2.1 Fibonacci Sequence ...................................................................................................................................................... 4
2.2 Binomial Coefficient .................................................................................................................................................... 5
4 Digit Frequency 8
5 Word Frequency 9
i
Setting up Python Programming Environment
Anaconda Distribution
Anaconda Distribution equips individuals to easily search and install thousands of Python/R packages and access a
vast library of community content and support. Especially with Python being very popular and defacto platform for
Data Science. Also it provides good graphical IDEs like Spyder and Jupyter Notebook.
The installer proceeds to setup the Anaconda distribution. Choose to perform the default action yes whenever
prompted.
Once installed open a terminal and run the following command to launch Anaconda Navigator.
Spyder IDE
Type a Python program and save it with .py extension. A sample program is shown below.
Question 1
Python Code
10
12
19
20 print("Student Details\n=========================")
21 print("%12s"%("Name :"), stName)
22 print("%12s"%("USN :"), stUSN)
23 print("%12s"%("Marks 1 :"), stMarks1)
24 print("%12s"%("Marks 2 :"), stMarks2)
25 print("%12s"%("Marks 3 :"), stMarks3)
26 print("%12s"%("Total :"), stMarks1+stMarks2+stMarks3)
27 print("%12s"%("Percent :"), "%.2f"%((stMarks1+stMarks2+stMarks3)/3))
28 print("=========================")
Listing 1.1: 01AStudDetails
1
Output
=================================
1
8 Student Details
9 =========================
10 Name : SYED
11 USN : 3KC22EC002
12 Marks 1 : 87
13 Marks 2 : 78
14 Marks 3 : 65
15 Total : 230
16 Percent : 76.67
17 =========================
Python Code
14
18 curYear = date.today().year
19 perAge = curYear - perDOB
20
Question 2
Python Code
11 """
12
15 firstTerm = 0
16 secondTerm = 1
17 print("The Fibonacci series with", num, "terms is :")
19 for i in range(2,num):
Output
1
4
2.2. BINOMIAL COEFFICIENT CHAPTER 2. QUESTION 2
Python Code
10 """
11
12 def fact(num):
13 if num == 0:
14 return 1
15 else:
16 return num * fact(num-1)
17 n = int(input("Enter the value of N : "))
19 nCr = fact(n)/(fact(r)*fact(n-r))
20 print(n,’C’,r," = ","%d"%nCr,sep="")
Output
1
13
Question
Read N numbers from the console and create a list. Develop a program to print mean, variance
and standard deviation with suitable messages.
Python Code
12 """
13
16 myList = []
17
20 for i in range(num):
21 val = int(input("Enter the element : "))
22 myList.append(val)
23
28
29 total = 0
30 for elem in myList:
31 total += elem
32
35 total = 0
36 for elem in myList:
37 total += (elem - mean) * (elem - mean)
38
6
CHAPTER 3. MEAN, VARIANCE AND STANDARD DEVIATION
41 stdDev = sqrt(variance)
42
Output
1
13 Mean = 58.4
14 Variance = 642.64
15 Standard Deviation = 25.35
Listing 3.2: OUTPUT
Digit Frequency
Question
Read a multi-digit number (as chars) from the console. Develop a program to print the frequency
of each digit with suitable message.
Python Code
1
9 """
10 num = input("Enter a number : ")
11 print("The number entered is :", num)
12 uniqDig = set(num)
Output
6 9 occurs 2 times
7 3 occurs 2 times
8 2 occurs 1 times
15 4 occurs 1 times
16 3 occurs 3 times
17 8 occurs 2 times
8
Chapter 5
Word Frequency
Question
Develop a program to print 10 most frequently appearing words in a text file. [Hint: Use dictio-
nary 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]
Python Code
11 """
12 import sys
13 import string
14 import os.path
15
16 fname = input("Enter the filename : ") #sample file text.txt also provided
17
18 if not os.path.isfile(fname):
19 print("File", fname, "doesn’t exists")
20 sys.exit(0)
21
24 filecontents = ""
25
33 wordFreq = {}
34 wordList = filecontents.split()
9
CHAPTER 5. WORD FREQUENCY
35
49 print("\n===================================================")
50 print("10 most frequently appearing words with their count")
51 print("===================================================")
52 for i in range(10):
53 print(sortedWordFreq[i][0], "occurs", sortedWordFreq[i][1], "times")
Listing 5.1: 05WordFreq.py
Output
1
5 ===================================================
6 10 most frequently appearing words with their count
7 ===================================================
9 of occurs 24 times
12 a occurs 9 times
15 to occurs 6 times
Question
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()].
Python Code
13 """
14
15 import os.path
16 import sys
17
18 fname = input("Enter the filename whose contents are to be sorted : ") #sample
file unsorted.txt also provided
19
20 if not os.path.isfile(fname):
21 print("File", fname, "doesn’t exists")
22 sys.exit(0)
23
26 myList = infile.readlines()
27 # print(myList)
28
32 lineList.append(line.strip())
33
34 lineList.sort()
35
11
CHAPTER 6. SORT FILE CONTENTS
38 outfile = open("sorted.txt","w")
39
40
47
48 if os.path.isfile("sorted.txt"):
49 print("\nFile containing sorted content sorted.txt created successfully")
50 print("sorted.txt contains", len(lineList), "lines")
51 print("Contents of sorted.txt")
52 print("=================================================================")
53 rdFile = open("sorted.txt","r")
54 for line in rdFile:
55 print(line, end="")
Listing 6.1: 06SortLinesFile.py
Output
2
8 =================================================================
9 A deep C diva.
10 All the troubles you have will pass away very quickly.
15 How does a hacker fix a function which doesn’t work for all of the elements in its
domain?
16 Lay on, MacDuff, and curs’d be him who first cries, "Hold, enough!".
17 People are beginning to notice you. Try dressing before you leave the house.
18 The surest protection against temptation is cowardice.
19 To be or not to be.
Question
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.
Python Code
1
9 """
10 import os
11 import sys
12 import pathlib
13 import zipfile
14
Output
13
Chapter 8
Question
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.
Python Code
11 """
12 import sys
13
14 def DivExp(a,b):
15 assert a>0, "a should be greater than 0"
16 try:
17 c = a/b
18 except ZeroDivisionError:
19 print("Value of b cannot be zero")
20 sys.exit(0)
21 else:
22 return c
23
Output
14
CHAPTER 8. ASSERTIONS AND EXCEPTIONS DEMO
Question
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.
Python Code
11 """
12
13 class Complex:
14 def init (self, realp = 0, imagp=0):
15 self.realp = realp
16 self.imagp = imagp
17
22 def readComplex(self):
23 self.realp = int(input("Enter the real part : "))
24 self.imagp = int(input("Enter the real part : "))
25
26 def showComplex(self):
27 print(’(’,self.realp,’)’,’+i’,’(’,self.imagp,’)’,sep="")
28
16
CHAPTER 9. COMPLEX CLASS DEMO
35 def add2Complex(a,b):
36 c = a.addComplex(b)
37 return c
38
39 def main():
40 c1 = Complex(3,5)
41 c2 = Complex(6,4)
42
48 c3 = add2Complex(c1, c2)
49
55 compList = []
56
59 for i in range(num):
60 print("Object", i+1)
61 obj = Complex()
62 obj.readComplex()
63 compList.append(obj)
64
69 sumObj = Complex()
70 for obj in compList:
71 sumObj = add2Complex(sumObj, obj)
72
73
77 main()
Listing 9.1: 09ComplexClass.py
Output
3 Complex Number 1
4 (3)+i(5)
5 Complex Number 2
6 (6)+i(4)
8 (9)+i(9)
17 Object 3
18 Enter the real part : 3
19 Enter the real part : 7
20 Object 4
21 Enter the real part : 4
22 Enter the real part : 6
23 Object 5
24 Enter the real part : 5
25 Enter the real part : 5
26
Question
Develop a program that uses class Student which prompts the user to enter marks in three sub-
jects 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.]
Python Code
11 """
12
13 class Student:
14 def init (self, name = "", usn = "", score = [0,0,0,0]):
15 self.name = name
16 self.usn = usn
17 self.score = score
18
19 def getMarks(self):
20 self.name = input("Enter student Name : ")
21 self.usn = input("Enter student USN : ")
22 self.score[0] = int(input("Enter marks in Subject 1 : "))
23 self.score[1] = int(input("Enter marks in Subject 2 : "))
24 self.score[2] = int(input("Enter marks in Subject 3 : "))
25 self.score[3] = self.score[0] + self.score[1] + self.score[2]
26
27 def display(self):
28 percentage = self.score[3]/3
29 spcstr = "=" * 81
30 print(spcstr)
31 print("SCORE CARD DETAILS".center(81))
19
CHAPTER 10. STUDENT CLASS DEMO
32 print(spcstr)
33 print("%15s"%("NAME"), "%12s"%("USN"), "%8s"%"MARKS1","%8s"%"MARKS2","%8s"%"
MARKS3","%8s"%"TOTAL","%12s"%("PERCENTAGE"))
34 print(spcstr)
35 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)
36 print(spcstr)
37
38
39 def main():
40 s1 = Student()
41 s1.getMarks()
42 s1.display()
43
44 main()
Listing 10.1: 10StudentClass.py
Output
2
8 =================================================================================