PYTHON LAB MANUAL AIETM
PYTHON LAB MANUAL AIETM
S. NO. TITLE
2 A)Write a program to compute distance between two points taking input from the user
B) Write a program add.py that takes 2 numbers as command line arguments and prints
its sum..
3 A)Write a Program for checking whether the given number is an even number or not.
B)Using a for loop, write a program that prints out the decimal equivalents of
1/2, 1/3, 1/4, . . . , 1/10
A) Write a Program to demonstrate list and tuple in python.
4 B Write a program using a for loop that loops over a sequence.
C) Write a program using a while loop that asks the user for a number, and prints a
countdown from that number to zero..
A)Find the sum of all the primes below two million.
5 B)By considering the terms in the Fibonacci sequence whose values do not
exceed four million, WAP to find the sum of the even-valued terms..
A)Write a program to count the numbers of characters in the string and store
6 them in a dictionary data structure.
B)Write a program to use split and join methods in the string and trace a
Birth day of a person with a dictionary data structure
Write a program to count frequency of characters in a given file. Can you use character
7 frequency to tell whether the given file is a Python program file, C program file or a
text file?
A)Write a program to print each line of a file in reverse order.
8 B)Write a program to compute the number of characters, words and lines in a file.
A)Write a function nearly equal to test whether two strings are nearly equal. Two
9 strings a and b are nearly equal when a can be generated by a single mutation on.
B)Write function to compute gcd, lcm of two numbers. Each function shouldn’t exceed
one line.
A)Write a program to implement Merge sort.
10 B)Write a program to implement Selection sort, Insertion sort.
Program No.1
Aim:-
Description:-
Every value in Python has a data type. Since everything is an object in Python programming,
data types are actually classes and variables are instance (object) of these classes.
Source Code:-
a=5
print(a, "is of type", type(a))
a = 2.0
print(a, "is of type", type(a))
a = 1+2j
print(a, "is complex number?", isinstance(1+2j,complex))
Output:-
If it makes for an introductory language to programming, Python must mean something. These
are its qualities:
• Interpreted
• Dynamically-typed
• Object-oriented
• Concise and simple
• Free
• Has a large community
If the expression is True, the statement under [on true] is executed. Else, that under [on false] is
executed.
1. >>> mylist=[0,1,2,3,4,5,6,7,8]
A negative index, unlike a positive one, begins searching from the right.
1. >>> mylist[-3]
1. >>> mylist[-6:-1]
[3, 4, 5, 6, 7]
1. >>> myname='Ayushi'
2. >>> Myname
Myname
As we can see, this raised a NameError. This means that Python is indeed case-sensitive.
According to the official Python documentation, an identifier can be of any length. However,
PEP 8 suggests that you should limit all lines to a maximum of 79 characters. Also, PEP 20 says
‘readability counts’. So, a very long identifier will violate PEP-8 and PEP-20.
Apart from that, there are certain rules we must follow to name one:
1. >>> 'AyuShi'.lower()
‘ayushi’
1. >>> 'AyuShi'.upper()
‘AYUSHI’
Also, to check if a string is in all uppercase or all lowercase, we use the methods isupper() and
islower().
1. >>> 'AyuShi'.isupper()
False
1. >>> 'AYUSHI'.isupper()
True
1. >>> 'ayushi'.islower()
True
1. >>> '@yu$hi'.islower()
True
1. >>> '@YU$HI'.isupper()
True
True
There may be times in our code when we haven’t decided what to do yet, but we must type
something for it to be syntactically correct. In such a case, we use the pass statement.
1
2
6
Program No.2
Aim:-
Write a program to compute distance between two points taking input from the user
Description:-
Arithmetic operators: Arithmetic operators are used to perform mathematical operations like
addition, subtraction, multiplication and division.
Relational Operators: Relational operators compares the values. It either returns True or False
according to the condition.
Logical operators: Logical operators perform Logical AND, Logical OR and Logical NOT
operations.
Source Code:
Bitwise operators: Bitwise operators acts on bits and performs bit by bit operation.
Assignment operators: Assignment operators are used to assign values to the variables.
• Identity operators-
is and is not are the identity operators both are used to check if two values are located on
the same part of the memory. Two variables that are equal does not imply that they are
identical.
• Membership operators-
in and not in are the membership operators; used to test whether a value or variable is in
a sequence.
Source Code:-
import math
# Drivers Code
print("%.6f"%distance(3, 4, 4, 3))
Output:-
1.414214
Aim:-
Write a program add.py that takes 2 numbers as command line arguments and prints its sum.
Source Code:-
Output:
The help() function displays the documentation string and help for its argument.
copy(x)
1. >>> dir(copy.copy)
1. >>> mydict={'a':1,'b':2,'c':3,'e':5}
2. >>> mydict.keys()
Slicing is a technique that allows us to retrieve only a part of a list, tuple, or string. For this, we
use the slicing operator [].
1. >>> (1,2,3,4,5)[2:4]
(3, 4)
1. >>> [7,6,8,5,9][2:]
[8, 5, 9]
1. >>> 'Hello'[:-1]
‘Hell’
Unlike languages like C++, Python does not have multiline comments. All it has is octothorpe
(#). Anything following a hash is considered a comment, and the interpreter ignores it.
1. >>> #line 1 of comment
2. >>> #line 2 of comment
In fact, you can place a comment anywhere in your code. You can use it to explain your code.
Q.5. How will you check if all characters in a string are alphanumeric?
1. >>> 'ayushi'.capitalize()
‘Ayushi’
1. >>> type(str.capitalize)
<class ‘method_descriptor’>
1. >>> '@yushi'.capitalize()
‘@yushi’
1. >>> 'Ayushi123'.isalnum()
True
1. >>> 'Ayushi123!'.isalnum()
False
1. >>> '123.3'.isdigit()
False
1. >>> '123'.isnumeric()
True
1. >>> 'ayushi'.islower()
True
1. >>> 'Ayushi'.isupper()
False
1. >>> 'Ayushi'.istitle()
True
True
1. >>> '123F'.isdecimal()
False
Q.7. We know Python is all the rage these days. But to be truly accepting of a great
technology, you must know its pitfalls as well. Would you like to talk about this?
Of course. To be truly yourself, you must be accepting of your flaws. Only then can you move
forward to work on them. Python has its flaws too:
Q.8. With Python, how do you find out which directory you are currently in?
To find this, we use the function/method getcwd(). We import it from the module os.
1. >>> import os
2. >>> os.getcwd()
Program No.3
Aim
Write a Program for checking whether the given number is an even number or not.
Description:
The if Statement
Often, you need to execute some statements only if some condition holds, or choose statements
to execute depending on several mutually exclusive conditions. The Python compound statement
if, which uses if, elif, and else clauses.
if expression:
statement(s)
elif expression:
statement(s)
elif expression:
statement(s)
...
else:
statement(s)
The elif and else clauses are optional. Note that unlike some languages, Python does not have a
switch statement, so you must use if, elif, and else for all conditional processing.
Source Code:
Output:
Enter a number: 2
2 is Even
Aim:
Using a for loop, write a program that prints out the decimal equivalents of
1/2, 1/3, 1/4, . . . , 1/10
Description:
Source Code:
Output:
Enter the number of terms: 2
The sum of series is 0.5
VIVA QUESTIONS
Q.1. How do you insert an object at a given index in Python?
1. >>> a=[1,2,4]
Now, we use the method insert. The first argument is the index at which to insert, the second is
the value to insert.
1. >>> a.insert(2,3)
2. >>> a
[1, 2, 3, 4]
1. >>> a.reverse()
2. >>> a
[4, 3, 2, 1]
1. >>> a[::-1]
2. >>> a
[1, 2, 3, 4]
This gives us the original list because we already reversed it once. However, this does not
modify the original list to reverse it.
1. >>> a.reverse()
2. >>> a
[4, 3, 2, 1]
1. >>> a[::-1]
2. >>> a
[1, 2, 3, 4]
This gives us the original list because we already reversed it once. However, this does not
modify the original list to reverse it.
1. >>>
If you have worked with the IDLE, you will see this prompt.
For any kind of statements, we possibly need to define a block of code under them. However,
Python does not support curly braces. This means we must end such statements with colons and
then indent the blocks under those with the same amount.
1. >>> if 3>1:
2. print("Hello")
3. print("Goodbye")
Hello
Goodbye
Q.8. Will the do-while loop work if you don’t end it with a semicolon?
Python does not support an intrinsic do-while loop. Secondly, to terminate do-while loops is a
necessity for languages like C++.
Q.9. In one line, show us how you’ll get the max alphabetical character from a string.
1. >>> max('flyiNg')
‘y’
The following are the ASCII values for all the letters of this string-
f- 102
l- 108
y- 121
i- 105
N- 78
g- 103
1. >>> max('fly{}iNg')
‘}’
(Bonus: } – 125)
Experiment-4
Aim:
Write a Program to demonstrate list and tuple in python.
Description:
Lists are one of the most powerful tools in python. They are just like the arrays declared in other
languages. But the most powerful thing is that list need not be always homogenous. A single list
can contain strings, integers, as well as objects. Lists can also be used for implementing stacks
and queues. Lists are mutable, i.e., they can be altered once declared.
A tuple is a sequence of immutable Python objects. Tuples are just like lists with the exception
that tuples cannot be changed once declared. Tuples are usually faster than lists.
Source Code:
L = [1, "a" , "string" , 1+2]
print L
L.append(6)
print L
L.pop()
print L
print L[1]
The output is :
The output is :
Aim:
Write a program using a for loop that loops over a sequence.
Source Code:
str="i am python developer"
for i in str:
print(i)
Output:
i
a
m
p
y
t
h
o
n
d
e
v
e
l
o
p
e
r
Aim:
Write a program using a while loop that asks the user for a number, and prints a countdown from
that number to zero.
Source Code:
n = int(input("Enter A Number--->"));
while n >=0:
print (n);
n = n - 1;
Output:
Enter A Number--->3
3
2
1
0
VIVA QUESTIONS
Q.1. What is Python good for?
Python is a jack of many trades, check out Applications of Python to find out more.
Q.2. Can you name ten built-in functions in Python and explain each in brief?
Ten Built-in Functions,
complex()- Creates a complex number.
1. >>> complex(3.5,4)
(3.5+4j)
1. >>> eval('print(max(22,22.0)-min(2,3))')
20
[2, 0, False]
1. >>> hash(3.7)
644245917
1. >>> hex(14)
‘0xe’
Enter a number7
1. ‘7’
1. >>> len('Ayushi')
1. >>> locals()
1. >>> file=open('tabs.txt')
1. >>> word=’abcdefghij’
2. >>> word[:3]+word[3:]
The output is ‘abcdefghij’. The first slice gives us ‘abc’, the next gives us ‘defghij’.
1. >>> nums=['one','two','three','four','five','six','seven']
2. >>> s=' '.join(nums)
3. >>> s
1. >>> list=[1,2,1,3,4,2]
2. >>> set(list)
{1, 2, 3, 4}
• To create a thread, we create a class that we make override the run method of the thread
class. Then, we instantiate it.
• A thread that we just created is in the new state. When we make a call to start() on it, it
forwards the threads for scheduling. These are in the ready state.
• When execution begins, the thread is in the running state.
• Calls to methods like sleep() and join() make a thread wait. Such a thread is in the
waiting/blocked state.
• When a thread is done waiting or executing, other waiting threads are sent for scheduling.
• A running thread that is done executing terminates and is in the dead state.
1. >>> roots={25:5,16:4,9:3,4:2,1:1}
2. >>> type(roots)
<class ‘dict’>
1. >>> roots[9]
{25: 5, 16: 4, 9: 3, 4: 2, 1: 1}
The // operator performs floor division. It will return the integer part of the result on division.
1. >>> 7//2
1. >>> 2**10
1024
Finally, % is for modulus. This gives us the value left after the highest achievable division.
1. >>> 13%7
1. >>> 3.5%1.5
0.5
Experiment-5
Aim:
Source Code:
a, b = 1, 2
total = 0
print(a,end=" ")
while (a <=2000000-1):
if a % 2 != 0:
total += a
a, b = b, a+b
print(a,end=" ")
print("\n sum of prime numbers term below two million: ",total)
Aim:
By considering the terms in the Fibonacci sequence whose values do not exceed four million,
WAP to find the sum of the even-valued terms.
Source Code:
a, b = 1, 2
total = 0
print(a,end=" ")
while (a <=4000000-1):
if a % 2 == 0:
total += a
a=b
b =a+b
print(a,end=" ")
print("\n sum of prime numbers term in fibonacci series: ",total)
1 4194304
sum of prime numbers term in fibonacci series: 4194302
VIVA QUESTIONS
Q.1. What do you know about relational operators in Python.
PYTHON RELATIONAL OPERATORS
< Less Than
> Greater Than
<= Less than or equal to
>= Greater than or equal to
= Equal to
!= Not equal to
False
True
False
Q.4. What are membership operators?
With the operators ‘in’ and ‘not in’, we can confirm if a value is a member in another.
True
True
Q.5. Explain identity operators in Python.
The operators ‘is’ and ‘is not’ tell us if two values have the same identity.
1. >>> 10 is '10'
False
True
1. >>> a=7.0
2. >>>
Lists – A list is an ordered collection of values, and we declare it using square brackets.
1. >>> colors=['red','green','blue']
2. >>> type(colors)
<class ‘list’>
Tuples – A tuple, like a list, is an ordered collection of values. The difference. However, is that a
tuple is immutable. This means that we cannot change a value in it.
1. >>> name=('Ayushi','Sharma')
2. >>> name[0]='Avery'
<class ‘dict’>
1. >>> type({})
<class ‘dict’>
We can also use a dictionary comprehension:
Hi
To get a function’s docstring, we use its __doc__ attribute.
1. >>> sayhi.__doc__
Write a program to count the numbers of characters in the string and store
them in a dictionary data structure
Source Code:
str=input("Enter a String:")
dict = {}
for n in str:
keys = dict.keys()
if n in keys:
dict[n] += 1
else:
dict[n] = 1
print (dict)
OR
str=input("Enter a String")
dict = {}
for i in str:
dict[i] = str.count(i)
print (dict)
OR
str=input("Enter a String")
dist={}
L=len(str);
d={str:L};
print(d)
Aim:
Write a program to use split and join methods in the string and trace a
birthday of a person with a dictionary data structure
Source Code:
a="hi i am python programmer"
b=a.split()
print (b)
c=" ".join(b)
print(c)
VIVA QUESTIONS
If a string contains only numerical characters, you can convert it into an integer using the int()
function.
1. >>> int('227')
227
1. >>> type('227')
<class ‘str’>
1. >>> type(int('227'))
<class ‘int’>
For taking input from the user, we have the function input(). In Python 2, we had another
function raw_input().
The input() function takes, as an argument, the text to be displayed for the task:
Enter a number7
But if you have paid attention, you know that it takes input in the form of a string.
1. >>> type(a)
<class ‘str’>
1. >>> a*=2
2. >>> a
’77’
Enter a number7
1. >>> a*=2
2. >>> a
14
When we want to execute a sequence of statements, we can give it a name. Let’s define a
function to take two numbers and return the greater number.
3.5
24
One of the less common functions with beginners, zip() returns an iterator of tuples.
1. >>> list(zip(['a','b','c'],[1,2,3])
Here, it pairs items from the two lists and creates tuples with those. But it doesn’t have to be
lists.
1. >>> list(zip(('a','b','c'),(1,2,3)))
This is simple. We call the function len() on the string we want to calculate the length of.
13
[1, 3, 5, 7, 9]
We saw previously, to get all keys from a dictionary, we make a call to the keys() method.
Similarly, for values, we use the method values().
False
1. >>> 4 in {'a':1,'b':2,'c':3,'d':4}.values()
True
Experiment-7
Aim:
Write a program to count frequency of characters in a given file. Can you use
character frequency to tell whether the given file is a Python program file, C
program file or a text file?
Source Code:
import os
count =0
file=open("D:/a.txt")
for line in file:
for l in range(0,len(line)):
count+=1;
print("count:",count)
filename,file_extension=os.path.splitext("D:/a.txt");
print("file_extension==",file_extension);
if(file_extension=='.py'):
print("its python program file");
elif(file_extension==".txt"):
print("its a txt file");
elif(file_==extension==".c"):
print("its a c program file");
VIVA QUESTIONS
We have the swapcase() method from the str class to do just that.
1. >>> 'AyuShi'.swapcase()
‘aYUsHI’
Questions 50 through 52 assume the string ‘I love Python’. You need to do the needful.
Q.2. Write code to print only upto the letter t.
1. >>> i=0
2. >>> while s[i]!='t':
3. print(s[i],end=’’)
4. i+=1
I love Py
Q.3. Write code to print everything in the string except the spaces.
1. >>> for i in s:
2. if i==' ': continue
3. print(i,end='')
IlovePython
I love Python
I love Python
I love Python
I love Python
I love Python
I love Python
1. >>> bytes([2,4,8])
b’\x02\x04\x08′
1. >>> bytes(5)
b’\x00\x00\x00\x00\x00′
1. >>> bytes('world','utf-8')
b’world’
Q.7. Create a new list to convert the following list of number strings to a list of numbers.
nums=[‘22’,’68’,’110’,’89’,’31’,’12’]
We will use the int() function with a list comprehension to convert these strings into integers and
put them in a list.
Q.8. Given the first and last names of all employees in your firm, what data type will you
use to store it?
I can use a dictionary to store that. It would be something like this-
{‘first_name’:’Ayushi’,’second_name’:’Sharma’
Experiment-8
Aim:
Source Code:
input_file=open('D:/a.txt','r')
for line in input_file:
l=len(line)
s=' '
while(l>=1):
s=s+line[l-1]
l=l-1
print(s)
input_file.close()
Aim:
Source Code:
k=open('D:/a.txt','r')
char,wc,lc=0,0,0
for line in k:
for k in range(0,len(line)):
char +=1
if(line[k]==' '):
wc+=1
if(line[k]=='\n'):
wc,lc=wc+1,lc+1
print("The no.of chars is %d\n The no.of words is %d\n The
no.of lines is %d"%(char,wc,lc))
VIVA QUESTIONS
Q.1. How would you work with numbers other than those in the decimal number system?
With Python, it is possible to type numbers in binary, octal, and hexadecimal.
Binary numbers are made of 0 and 1. To type in binary, we use the prefix 0b or 0B.
1. >>> int(0b1010)
10
To convert a number into its binary form, we use bin().
1. >>> bin(0xf)
‘0b1111’
Octal numbers may have digits from 0 to 7. We use the prefix 0o or 0O.
1. >>> oct(8)
‘0o10’
Hexadecimal numbers may have digits from 0 to 15. We use the prefix 0x or 0X.
1. >>> hex(16)
‘0x10’
1. >>> hex(15)
‘0xf’
Q.2. What does the following code output?
a. One argument
When we pass only one argument, it takes it as the stop value. Here, the start value is 0, and the
step value is +1.
1. >>> list(range(5))
[0, 1, 2, 3, 4]
1. >>> list(range(-5))
[]
1. >>> list(range(0))
[]
b. Two arguments
When we pass two arguments, the first one is the start value, and the second is the stop value.
1. >>> list(range(2,7))
[2, 3, 4, 5, 6]
1. >>> list(range(7,2))
[]
1. >>> list(range(-3,4))
c. Three arguments
Here, the first argument is the start value, the second is the stop value, and the third is the step
value.
1. >>> list(range(2,9,2))
[2, 4, 6, 8]
1. >>> list(range(9,2,-1))
[9, 8, 7, 6, 5, 4, 3]
Q.6. What is the best code you can write to swap two numbers?
1. >>> a,b=b,a
1. >>> a,b=2,3
2. >>> a,b=b,a
3. >>> a,b
(3, 2)
First –
Second –
For this, we press Ctrl+C. This interrupts the execution. Let’s create an infinite loop to
demonstrate this.
while(n==7):print(n)
KeyboardInterrupt
Experiment-9
Aim:
Write a function nearly equal to test whether two strings are nearly equal. Two strings a and b
are nearly equal when a can be generated by a single mutation.
Source Code:
Output:
Both Strings are similar
a is mutation on b
Aim:
Write function to compute gcd, lcm of two numbers. Each function shouldn’t exceed one line.
Source Code:
import fractions
n1 = int(input("Enter n1 value:"))
n2 = int(input("Enter n2 value:"))
gcd = fractions.gcd(n1, n2)
print("GCD value is:",gcd)
def lcm(n, m):
return n * m / gcd
print("LCM value is:",int(lcm(n1,n2)))
Output:
Enter n1 value:6
Enter n2 value:12
GCD value is: 6
LCM value is: 12
VIVA QUESTIONS
Python files first compile to bytecode. Then, the host executes them.
To pass its parameters to a function, Python uses pass-by-reference. If you change a parameter
within a function, the change reflects in the calling function. This is its default behavior.
However, when we pass literal arguments like strings, numbers, or tuples, they pass by value.
This is because they are immutable.
The with statement in Python ensures that cleanup code is executed when working with
unmanaged resources by encapsulating common preparation and cleanup tasks. It may be used to
open a file, do something, and then automatically close the file at the end. It may be used to open
a database connection, do some processing, then automatically close the connection to ensure
resources are closed and available for others. with will cleanup the resources even if an exception
is thrown. This statement is like the using statement in C#.
Consider you put some code in a try block, then in the finally block, you close any resources
used. The with statement is like syntactic sugar for that.
While both files hold bytecode, .pyc is the compiled version of a Python file. It has platform-
independent bytecode. Hence, we can execute it on any platform that supports the .pyc format.
Python automatically generates it to improve performance(in terms of load time, not speed).
• Encapsulation
• Abstraction
• Inheritance
• Polymorphism
• Data hiding
Immutable objects- Those which do not let us modify their contents. Examples of these will be
tuples, booleans, strings, integers, floats, and complexes. Iterations on such objects are faster.
1. >>> tuple=(1,2,4)
2. >>> tuple
(1, 2, 4)
1. >>> 2+4j
(2+4j)
Mutable objects – Those that let you modify their contents. Examples of these are lists, sets, and
dicts. Iterations on such objects are slower.
1. >>> [2,4,9]
[2, 4, 9]
1. >>> dict1={1:1,2:2}
2. >>> dict1
{1: 1, 2: 2}
While two equal immutable objects’ reference variables share the same address, it is possible to
create two mutable objects with the same content.
Experiment-10
Aim:
Source Code:
i=j=k=0
Output:
Given array is
12 11 13 5 6 7
Sorted array is:
5 6 7 11 12 13
Aim:
Source Code:
# Python program for implementation of Selection
# Sort
import sys
A = [64, 25, 12, 22, 11]
Output:
Sorted array
11
12
22
25
64
Source Code:
key = arr[i]
Output:
Q.8.If given the first and last names of bunch of employees how would you store it and
what datatype?