Study Matriel For Class12 Cs
Study Matriel For Class12 Cs
Data Types: Data Type specifies which type of value a variable can store. type() function is
used to determine a variable's type in Python
Data Types In Python
1. Number
2. String
3. Boolean
4. List
5. Tuple
6. Set
7. Dictionary
Python tokens :
(1) keyword :
Keywords are reserved words. Each keyword has a specific meaning to the Python
interpreter, and we can use a keyword in our program only for the purpose for which it
has been defined. As Python is case sensitive, keywords must be written exactly.
(2) Identifier : Identifiers are names used to identify a variable, function, or other entities in a
program. The rules for naming an identifier in Python are as follows:
The name should begin with an uppercase or a lowercase alphabet or an underscore
sign (_). This may be followed by any combination of characters a z, A Z, 0 9 or
underscore (_). Thus, an identifier cannot start with a digit.
It can be of any length. (However, it is preferred to keep it short and
It should not be a keyword or reserved word
We cannot use special symbols like !, @, #, $, %, etc., in identifiers.
(3) Variables: A variable in a program is uniquely identified by a name (identifier). Variable
in Python refers to an object an item or element that is stored in the memory.
Comments: Comments are used to add a remark or a note in the source code. Comments
are not executed by interpreter. a comment starts with # (hash sign). Everything
following the # till the end of that line is treated as a comment and the interpreter simply
ignores it while executing the statement.
Mutable and immutable data types : Variables whose values can be changed after they
are created and assigned are called mutable. Variables whose values cannot be changed
after they are created and assigned are called immutable.
Control statements are used to control the flow of execution depending upon the
specified condition/logic.
There are three types of control statements:
1. Decision Making Statements (if, elif, else)
2. Iteration Statements (while and for Loops)
3. Jump Statements (break, continue, pass)
Expected output:
Current character p position at 0
Current character y position at 1
Current character t position at 2
Q2. Find and write the output of the following python code:
string1 = "Augmented Reality"
(i) print(string1[0:3]) (ii) print(string1[3:6]) (iii) print(string1[:7])
(iv) print(string1[-10:-3]) (v) print(string1[-7: :3]*3) (vi) print(string1[1:12:2])
Q3. Find the output of the give program :
x = "abcdef"
j = "a"
for i in x:
print(j, end = " ")
Q4. Find output generated by the following code:
i=3
while i >= 0:
j=1
while j <= i:
print(j,end = ' ')
j=j+1
print()
i=i-1
Q5. Find output generated by the following code:
i=1
y = 65
while i<=5:
j=i
while j<=I:
j= j+1
y = y+1
print()
i=i+1
4 MARK QUESTIONS
Q1.Differentiate between break and continue statement used in python.
Q2What is comment in python ? Explain its significance.
Q3.Explain the types of errors occurring in python programming language.
5 MARK QUESTIONS
Q1.Differentiate between type conversion and type casting in python with examples.
Q2.Explain mutable and immutable objects in python with examples.
Q3. What is the use of else statement in for loop and in while loop ? Explain.
ANSWERS
ANSWER OF 1 MARK QUESTIONS
1) (iv)
2) (iv)
3) (ii)
4
Page
4) (iii)
5) (iii)
6) (iii)
7) (iii)
8) (iv)
9) (iii)
10) (ii)
2) Comments in Python are identified with a hash symbol, #, and extend to the end of the line.
Hash characters in a string are not considered comments, however. There are three ways to
write a comment - as a separate line, beside the corresponding statement of code, or as a
multi-line comment block.
here are multiple uses of writing comments in Python. Some significant uses include:
Increasing readability
Explaining the code to others
Understanding the code easily after a long-term
Including resources
Re-using the existing code
3. There are three types of Python errors.
1. Syntax errors
Syntax errors are the most basic type of error. They arise when the Python parser is unable to
understand a line of code. Syntax errors are almost always fatal, i.e. there is almost never a
way to successfully execute a piece of code containing syntax errors.
2.Logical errors
These are the most difficult type of error to find, because they will give unpredictable results
and may crash your program. A lot of different things can happen if you have a logic error.
3.Run time errors
Run time errors arise when the python knows what to do with a piece of code but is unable to
perform the action.Since Python is an interpreted language, these errors will not occur until
the flow of control in your program reaches the line with the problem. Common example of
runtime errors are using an undefined variable or mistyped the variable name.
2. Mutable in Python can be defined as the object that can change or be regarded as something
changeable in nature. Mutable means the ability to modify or edit a value.
Mutable objects in Python enable the programmers to have objects that can change their
values. They generally are utilized to store a collection of data. It can be regarded as
something that has mutated, and the internal state applicable within an object has changed.
Immutable objects in Python can be defined as objects that do not change their values and
attributes over time.
These objects become permanent once created and initialized, and they form a critical part of
data structures used in Python.
Python is used in numbers, tuples, strings, frozen sets, and user-defined classes with some
exceptions. They cannot change, and their values and it remains permanent once they are
initialized and hence called immutable.
3. Else with loop is used with both while and for loop. The else block is executed at the end
of loop means when the given loop condition is false then the else block is executed.
i=0
while i<5:
i+=1
print("i =",i)
else:
print("else block is executed")
Explanation
declare i=0
we know then while loop is active until the given condition is true. and we check i<5
true till the value of i is 4.
i+=1 increment of i because we want to execute the while loop infinite times.
print the value of i
else block execute when the value of i is 5.
l = [1, 2, 3, 4, 5]
for a in l:
print(a)
else:
print("else block is executed")
LIST
List is an ordered sequence, which is used to store multiple data at the same time. List
contains a sequence of heterogeneous elements. Each element of a list is assigned a number
to its position or index. The first index is 0 (zero), the second index is 1 , the third index is 2
and so on .
Creating a List In Python,
a = [ 34 , 76 , 11,98 ]
b=['s',3,6,'t']
d=[]
Creating List From an Existing Sequence: list ( ) method is used to create list from an
existing sequence . Syntax: new_list_name = list ( sequence / string )
You can also create an empty list . eg . a = list ( ) .
Similarity between List and String
len ( ) function is used to return the number of items in both list and string .
Membership operators as in and not in are same in list as well as string .
Concatenation and replication operations are also same done in list and string.
Difference between String and List
Strings are immutable which means the values provided to them will not change in the
program. Lists are mutable which means the values of list can be changed at any time.
Accessing Lists
To access the list's elements, index number is used.
S= 0 1 2 3 4 5 6 7
>>> S[5]
97 12 4 66 7 8 97 computer 5.5
>>>S[-2] -8 -7 -6 -5 -4 -3 -2 -1
computer
10
Page
Traversing a List
Traversing a list is a technique to access an individual element of that list.
1. Using for loop for loop is used when you want to traverse each element of a list.
>>> a =
>>> fot x in a:
print(x, end = output : p r o g r a m
2. Using for loop with range( )
>>> a =
>>> fot x in range(len(a)):
print(x, end = output : p r o g r a m
List Operations
1. Concatenate Lists
List concatenation is the technique of combining two lists . The use of + operator can easily
add the whole of one list to other list . Syntax list list1 + list2 e.g. >>> L1 = [ 43, 56 , 34 ]
>>> L2 = [ 22 , 34 , 98 ]
2. Replicating List >>> L = 11 + 12
Elements of the list can be replicated using * operator . >>> L [ 43, 56, 34, 22 , 34 , 98 ]
Syntax list = listl * digit e.g. >>> L1 = [ 3 , 2 , 6 ]
>>> L = 11 * 2
>>> L [ 3 , 2 , 6 , 3 , 2 , 6 ]
3. Slicing of a List: List slicing refers to access a specific portion or a subset of the list for
some operation while the original list remains unaffected .
Syntax:- list_name [ start: end ] Syntax: list_name [ start: stop : step ]
>>> List1 = [ 4 , 3 , 7 , 6 , 4 , 9 ,5,0,3 , 2] >>> List1 = [ 4 , 3 , 7 , 6 , 4 , 9 ,5,0,3 , 2]
>>> S = List1[ 2 : 5 ] >>> S = List1[ 1 : 9 : 3 ]
>>> S >>> S
[ 7, 6, 4 ] [ 3, 4, 0 ]
List Manipulation
Updating Elements in a List
List can be modified after it created using slicing e.g.
>>> l1= [ 2 , 4, " Try " , 54, " Again " ]
>>> l1[ 0 : 2 ] = [ 34, " Hello " ]
>>> l1
[34, ' Hello ', ' Try ', 54, ' Again ']
>>> l1[ 4 ] = [ "World " ]
>>> l1
[34, ' Hello ', ' Try ', 54, ['World ']]
Deleting Elements from a List
del keyword is used to delete the elements from the list .
Syntax:-
del list_name [ index ] # to delete individual element
del 11st_name [ start : stop ] # to delete elements in list slice c.g.
>>> list1 = [ 2.5 , 4 , 7 , 7 , 7 , 8 , 90 ]
>>> del list1[3] >>> del list1[2:4]
>>> list1 >>> list1
[2.5, 4, 7, 7, 8, 90] [2.5, 4, 8, 90]
TUPLES
A tuple is an ordered sequence of elements of different data types. Tuple holds a sequence of
heterogeneous elements, it store a fixed set of elements and do not allow changes
Tuple vs List
Elements of a tuple are immutable whereas elements of a list are mutable.
Tuples are declared in parentheses ( ) while lists are declared in square brackets [ ].
Iterating over the elements of a tuple is faster compared to iterating over a list.
Creating a Tuple
To create a tuple in Python, the elements are kept in parentheses ( ), separated by commas.
a = ( 34 , 76 , 12 , 90 )
b=( 's',3,6,'a')
Accessing tuple elements, Traversing a tuple, Concatenation of tuples, Replication of tuples
and slicing of tuples works same as that of List
MIND MAP
List is an ordered sequence Method
of heterogeneous elements len()
List is created using [ ] list()
bracket append()
Individual character in a list extend()
can be assessed using index insert()
Lists are mutable count()
index()
remove()
List Osperations
Concatination Operator (+)
LIST pop()
reverse()
Replication Operators (*) sort()
Comparison Operators ( == , sorted()
> , < , < = , > = , !=) min()
Membership Operators (in max()
& not in sum()
List supports slicing
QUESTIONS:
1 MARK QUESTIONS
1. What will be the output of the following set of commands
>>> str = "hello"
>>> str[:2]
a. lo b. he c. llo d. el
2. Which type of object is given below
>>> L = 1,23,"hello",1
a. list b. dictionary c. array d. tuple
3. Which operator tells whether an element is present in a sequence or not
a. exist b. in c. into d. inside
4. Suppose a tuple T is declared as T = (10,12,43,39), which of the following is incorrect
a. print(T[1]) b. T[2] = -2 c. print(max(T)) d. print(len(T))
5. Which index number is used to represent the last character of a string
a. -1 b. 1 c. n d. n 1
6. Which function returns the occurrence of a given element in a list?
a. len() b. sum() c. extend() d. count()
7. which type of slicing is used to print the elements of a tuple in reverse order
a. [:-1] b. [: : -1] c. [1 : :] d. [: : 1]
8. Dictionaries are also called
a. mapping b. hashes c. associative array d. all of these
9. Which function returns the value of a given key, if present, from a dictionary?
a. items() b. get() c. clear() d. keys()
10. The return type of input() function is:
a. list b. integer c. string d. tuple
ANSWERS
1 B 6 d
2 D 7 b
3 B 8 d
4 B 9 b
5 A 10 c
2 MARKS QUESTIONS
Q1. Rewrite the following code in python after removing all syntax error(s). Underline each
correction done in the code.
STRING=""WELCOME
NOTE""
for S in range[0,8]:
print (STRING(S))
Q2. Find output generated by the following code:
Str=Str[-4:]
print(Str*2)
Q3. What will be the output of the following question
L = [10,19,45,77,10,22,2]
i) L.sort() ii) max(L)
print(L)
Q4. Find the output
L = [10,19,45,77,10,22,2]
i) L[3:5] ii) L[: : -2]
Q5. Distinguish between list and tuple.
Q6. Read the code given below and show the keys and values separately.
D= : 1, : 2, : 3}
Q7. Observe the given list and answer the question that follows.
List1 = 20,
i) list1[-3] ii) list1[3]
Q8. Assertion (A) :
s = [11, 12, 13, 14]
s[1] = 15
Reasoning (R) : List is immutable.
(A) Both A and R are true and R is the correct explanation of assertion.
(B) A and R both are true but R is not the correct explanation of A .
(C) A is true, R is false.
(D) A is false, R is true.
16
Page
Q9. a=(1,2,3)
a[0]=4
Assertion: The above code will result in error
Reason: Tuples are immutable. So we change them.
(A) Both Assertion and reason are true and reason is correct explanation of assertion.
(B) Assertion and reason both are true but reason is not the correct explanation of assertion.
(C) Assertion is true, reason is false.
(D) Assertion is false, reason is true.
ANSWERS
Q1. CORRECTED CODE:-
STRING= "WELCOME"
NOTE=" "
for S in range (0, 7) :
print (STRING [S])
Also range(0,8) will give a runtime error as the index is out of range. It shouldbe range(0,7)
Q2. Q3. Q4.
uter [2, 10, 10, 19, 22, 45, 77] [77, 10]
[2, 10, 45, 10]
Q5.
List Tuple
Elements of a list are mutable Elements of tuple are immutable
List is declared in square brackets [] Tuple is declared in parenthesis ()
Iterating over elements in list is slower as Iterating over elements of tuples is faster as
compared to tuple compared to list
e.g L1 = [1,2,3] e.g T1 = (1,2,3)
Q6. Q7. Q8. (C) Q9. (A)
Keys:
Values: 1,2,3
3 MARKS QUESTIONS
Q1. Which of the string built in methods are used in following conditions?
ii) Returns the length of a string
iii) Removes all leading whitespaces in string
iv) Returns the minimum alphabetic character from a string
Q2. Write a program to remove all the characters of odd index value in a string
Q3. Write a python program to count the frequencies of each elements of a list using
dictionary
Q4. what will be the output of the following python code
L = [10,20]
L1 = [30,40]
L2 = [50,60]
L.append(L1)
print(L)
L.extend(L2)
print(L)
print(len(L)
Q5. Find the output of the given question
t=
i) t[5]
ii) t[3:7]
iii) t[1] + t[-2]
17
Page
ANSWERS
Q1. i) len() ii) lstrip() iii)min()
Q2. str a string
final =
For i in range(len(str)):
if (i%2 == 0):
final = final + str[i]
modified string is
Q3. L1 = []
n= number of elements of the list
for i in range(0,n):
ele = int(input())
L1.append(ele)
list =
of list with their frequencies :
freq ={}
for item in L1:
if item in freq:
freq[item] += 1
else:
freq[item] = 1
for k,v in freq.item():
k, v)
Q4. Q5.
[10, 20, [30, 40]] i)
[10, 20, [30, 40],50,60] ii)
iii) 34
4 MARKS QUESTIONS
Q1. Find the output
i) 'python'.capitalize()
ii) max('12321')
iii) 'python'.index('ho')
iv) 'python'.endswith('thon')
Q2. Consider the following code and answer the question that follows.
book = {1:'Thriller',2:'Mystery',3:'Crime',4:'Children Stories'}
library = {5:'Madras Diaries',6:'Malgudi Days'}
v) Ramesh wants to change the book He has written the
following code:
book['Crime'] = 'Crime Thriller'
but he is not getting the answer. Help him to write the correct command.
vi) Ramesh wants to merge the dictionary book with the dictionary library. Help him to write
the command.
Q3. Write the suitable method names for the conditions given below:
i) Add an element at the end of the list
ii) Return the index of first occurrence of an element
iii) Add the content of list2 at the end of list1
iv) Arrange the elements of a list1 in descending order
ANSWERS
Q1.
i) 'Python' ii) '3' iii) 3 iv) True
18
Page
Q2. i) book[3] = 'Crime Thriller'
ii) library.update(book)
Q3. i) append() ii) index() iii) list1.extend(list2)
iv) list1.sort(reverse = True)
5 MARKS QUESTIONS
Q1. Find the output of the following code:
a = (5,(7,5,(1,2)),5,4)
print(a.count(5))
print(a[1][2])
print(a * 3)
print(len(a))
b = (7,8,(4,5))
print(a + b)
Q2. Following is a program to check a list is same if it is read from front or from back.
Observe the program and answer the following questions:
a = [1,2,3,3,2,1]
i= # statement 1
mid = (len(a)) / 2
same = True
while : # statement 2
if a[i] != : # statement 3
same = False
break
# statement 4
if same == : # statement 5
ANSWERS
Q1. 2
(1, 2)
(5, (7, 5, (1, 2)), 5, 4, 5, (7, 5, (1, 2)), 5, 4, 5, (7, 5, (1, 2)), 5, 4)
4
(5, (7, 5, (1, 2)), 5, 4, 7, 8, (4, 5))
Q2. i) 0
ii) i < mid
iii) a[i] != a[len(a) i 1]
iv) i = i + 1
v) True
Q3. i) title()
Returns the string with first letter of every word in the string in uppercase and rest in
lowercase.
19
Page
>>> str1 = 'hello WORLD!'
>>> str1.title()
'Hello World!'
ii) count( )
Returns number of times substring str occurs in the given string. If we do not give start index
and end index then searching starts from index 0 and ends at length of the string.
>>> str1 = 'Hello World! Hello Hello'
>>> str1.count('Hello',12,25)
2
>>> str1.count('Hello')
3
iii) find()
Returns the first occurrence of index of substring stroccurring in the given string. If we do not
give start and end then searching starts from index 0 and ends at length of the string. If the
substring is not present in the given string, then the function returns -1
>>> str1= 'Hello World! Hello Hello'
>>> str1.find('Hello',10,20)
13
>>> str1.find('Hello',15,25)
19
>>> str1.find('Hello')
0
>>> str1.find('Hee')
-1
iv) index( )
Same as find() but raises an exception if the substring is not present in the given string
>>> str1 = 'Hello World! Hello Hello'
>>> str1.index('Hello')
0
>>> str1.index('Hee')
ValueError: substring not found
v) join()
Returns a string in which the characters in the string have been joined by a separator
>>> str1 = ('HelloWorld!')
>>> str2 = '-' #separator
>>> str2.join(str1)
'H-e-l-l-o-W-o-r-l-d-!'
20
Page
FUNCTION IN PYTHON
Functions: types of function (built-in functions, functions defined in module, user defined
functions), creating user defined function, arguments and parameters, default parameters,
positional parameters, function returning value(s), flow of execution, scope of a variable
(global scope, local scope)
Let us revise
A function is a block of code that performs a specific task.
Advantages of function: Reusability of code, Reduce size of code, minimum number
of statements, minimum storage, Easy to manage and maintain
Types of functions: Built-in-functions, Functions defined in module, User defined
function
Built-in functions are the functions whose functionality is pre-defined in python like
abs(), eval(), input(), print(), pow()
Some functions are defined inside the module like load() and dump() function defined
inside the pickle module.
A function that can be defined by the user is known as user defined function.
def keyword is used to define a function.
There is a colon at the end of def line, meaning it requires block
User Defined function involved two steps:
defining
calling
Syntax for user defined function:
def <function name>( [parameter list ]):
doc string
<statement>
[<statement>]
Python supports three types of formal arguments/ parameters: Positional Arguments,
Default parameters, Keyword (or named ) Arguments
Positional Arguments: When the function call statement must match the number and
order of arguments as defined in the function definition, this is called the positional
argument matching.
A parameter having default value in the function header is known as a default
parameter.
Keyword Arguments are the named arguments with assigned values being passed in
the function call statement.
A function may or may not return one or more values.
A function that does not return a value is known as void function and returns legal
empty value None.
Functions returning value are also known as fruitful functions.
The flow of execution refers to the order in which statements are executed during a
program.
A variable declared in a function body (block) is said to have local scope. i.e. it can
be accessed within this function.
A variable declared outside of all functions/top level of segment of a program is said
to have global scope. i.e. it can be accessible in whole program and all blocks (
functions and the other blocks contained within program.
21
Page
MIND MAP ON FUNCTION
Function: A function is a group of statements that exists within a
program for the purpose of performing a specific task.
Types of Arguments/Parameters
1. (a) None
2. (c) Both function name and parameter list
3. (c) def
4. (d) return number
5. (c) def f(a=1, b=1, c=2):
6. (a) You can pass positional arguments in any order.
7. (b) A global variable
8. (b) LEGB
9. (c) A is True but R is False
10. (b) Flow of execution
11. (c) Both Statements are Correct
12. c) scope
numbers.
def sum(a,b):
return a+b
sum(10,20)
Here a
calls, i.e., the values passed to the function at runtime.10, 20 are the arguments for the
function sum.
Q11. What is the significance of having functions in a program?
Answer: Creating functions in programs is very useful. It offers the following advantages:
(i) The program is easier to understand.
(ii) Redundant code is at one place, so making changes is easier.
(iii) Reusable functions can be put in a library in modules.
Q12. What is the difference between local variable and global variable? Also give a suitable
Python code
to illustrate both.
Answer:
S.No. Local Variable Global Variable
1. It is a variable which is declared within a It is a variable which is declared
function or within a block. outside all the functions or in a global
space.
2. It cannot be accessed outside the function It is accessible throughout the
but only within a function/block of a program in which it is declared.
program.
For example, in the following code x, xcubed are global variables and n and cn are local
variables.
def cube(n): # n and cn are local variables
cn=n*n*n
return cn
x=10 # x is a global variable
xcubed=cube(x) # xcubed is a global variable
print(x, xcubed)
funct1(int(a/b),b)
else:
funct1(a,b+1)
(a) What will be printed by the fuction call funct1(24,2)?
(b) What will be printed by the fuction call funct1(84,2)?
26
Page
(c) State in one line what funct1()is trying to calculate.
Answer (a) 2 2 2 3
(b)2 2 3 7
(c) finding factors of A which are greater than and equal to B.
Q2. Write a user defined function to print the odd numbers from a given list passed as an
argument.
Sample list: [1,2,3,4,5,6,,7,8,9,10]
Expected Result: [1,3,5,7,9]
Answer:
def odd_num(l):
odd=[]
for n in l:
if n%2!=0:
odd.append(n)
return odd
print(odd_num([1,2,3,4,5,6,7,8,9,10]))
Q3. Which line in the given code(s) will not work and why?
def interest(p,r,t=7):
I=(p*r*t)
print(interest(20000,.08,15)) #line 1
print(interest(t=10, 20000, 0.75)) #line 2
print(interest(50000, 0.7)) #line 3
print(interest(p=10000,r=.06,time=8)) #line 4
print(interest(80000, t=10)) #line 5
Answer: Line 2: positional argument must not be followed by keyword argument, i.e.,
positional argument
must appear before a keyword argument.
Line 4: There is no keyword argument with
Line 5: Missing value for positional arguments, R.
Q4. Write a python function showlarge() that accepts a string as parameter and prints the
words whose length is more than 4 characters.
Eg: if the given string is life is for serving my
The output should be
serving
Country
Answer:
def showlarge(s):
l = s.split()
for x in l:
if len(x)>4:
print(x)
s=" My life is for serving my Country "
showlarge(s)
Q5. Write a function Interchange (num) in Python, which accepts a list num of integers, and
interchanges the adjacent elements of the list and print the modified list as shown below:
(Number of elements in the list is assumed as even)
Original List: num = [5,7,9,11,13,15]
After Rearrangement num = [7,5,11,9,15,13]
Answer:
def Interchange(num):
for i in range(0,n,2):
27
Page
num[i], num[i+1] = num[i+1], num[i]
print(num)
num=[5,7,9,11,13,15]
n=len(num)
if n%2==0:
Interchange(num)
Q6. Write a function INDEX_LIST(L), where L is the list of elements passed as argument to
Non-Zero Elements of L.
For example:
If L contains [12, 4, 0, 11,0, 56]
The indexList will have - [0,1,3,5]
Answer:
def INDEX_LIST(L):
indexList=[]
for i in range(len(L)):
if L[i]!=0:
indexList.append(i)
return indexList
On the basis of the above code, choose the right statement which will be executed when
different inputs for pay and location are given
(i) Input: location = pay = 50000
a. Statement 1 b. Statement 2 c. Statement 3 d. Statement 4
(ii) Input: location = ,pay = 50000
a. Statement 2 b. Statement 4 c. Statement 5 d. Statement 6
(iii) Input- location = Other pay = 1
a Statement 1 b. Statement 2 c. Statement 4 d. Statement 6
28
Page
(iv) Input location = pay = 500000
a. Statement 6 b. Statement 5 c. Statement 4 d. Statement 3
toddlers understand concepts in a fun way. Being a senior programmer, you have taken
responsibility to develop a program using user-defined functions to help children differentiate
between upper case and lower case letters/ English alphabet in a given sequence. Make sure
that you perform a careful analysis of the type of alphabets and sentences that can be included
as per age and curriculum. Write a python program that accepts a string and calculates the
number of upper case letters and lower case letters.
Answer:
def string_test(s):
d={"UPPER_CASE":0,"LOWER_CASE":0}
for c in s:
if c.isupper():
d["UPPER_CASE"]+=1
elif c.islower():
d["LOWER_CASE"]+=1
else:
pass
print("Original String:",s)
print("No. of Upper Case Characters:",d["UPPER_CASE"])
print("No. of Lower Case Characters:",d["LOWER_CASE"])
string_test("Play Learn and Grow")
Q2. Observe the following code and select appropriate answers for the given questions:
total=1
def multiply(l): # line1
for x in l:
total # line2
total*=x
return # line3
l=[2,3,4]
print(multiply( ), # line4
, Thank
(i) Identify the part of function in # line1
(a) Function header (b) Function calling (c) Return statement (d)Default argument
(ii) Which of the keyword is used to fill in the blank for # line2 to run the program
without error.
(a) eval (b) def (c) global (d) return
(iii) Which variable is going to be returned in # line3
(a) total (b) x (c) l (d) None
(iv) Which variable is required in the # line4
(a) total (b) x (c) l (d) None
(v) In the # line4 the multiple(l) is called
(a) Caller (b) Called (c) Parameters (d) Arguments
Answer: (i) (a) Function header
(ii) (c) global
(iii) (a) total
(iv) (c) l
(v) (a) Caller
30
Page
Exception Handling
Exception: Contradictory or Unexpected situation or unexpected error, during program
execution, is known as Exception.
Exception Handling: Way of handling anomalous situations in a program-run, is known as
Exception Handling.
Some common examples of Exceptions are:
Divide by zero errors Hard disk crash
Accessing the elements of an array beyond its range Opening a non-existent file
Invalid input Heap memory exhausted
Example:
try :
print ("result of 10/5 = ", (10/5))
print ("result of 10/0 = ", (10/0))
except :
print ("Divide by Zero Error! Denominator must not be zero!")
The output produced by above code is as shown below :
result of 10 / 5 = 2
result of 10 / 0 = Divide by Zero Error! Denominator must not be zero!
1 Marks Question:
1. Errors resulting out of violation of programming grammar rules are known as:
(a) Compile time error (b) Logical error (c) Runtime error (d) Exception
2. An unexpected event that occurs during runtime and causes program disruption, is called:
(a) Compile time error (b) Logical error (c) Runtime error (d) Exception
3. Which of the following keywords are not specific to exception handling ?
(a) try (b) except (c) finally (d) else
4. Which of the following blocks is a - block ?
(a) try (b) except (c) finally (d) else
5. Which keyword is used to force an exception ?
(a) try (b) except (c) raise (d) finally
Answers:
1. (a) 2. (d) 3. (d) 4. (c) 5. (c)
Predict the output of the following code for these function calls:
(a) divide(2, 1) (b) divide(2, 0) (c)
def divide(x, y):
try:
result = x/y
except ZeroDivisionError:
print ("division by zero!")
else:
print ("result is", result)
finally:
print ("executing finally clause")
Solution.
(a) divide(2, 1) result is 2
executing finally clause
(b) divide(2, 0) division by zero!
executing finally clause
editor itself.
Example of Text Files:
Web standards: html, XML, CSS, Tabular data: csv, tsv etc.
JSON Configuration: ini, cfg, reg etc
Source code: c, app, js, py, java etc.
Documents: txt, tex, RTF etc.
III. OPENING OR CREATING A NEW FILE IN PYTHON
The method open() is used to open an existing file or creating a new file. If the
complete directory is not given then the file will be created in the directory in
which the python file is stored. The syntax for using open() method is given
below.
Syntax:
file_object = open( file_name, Buffering )
The open method returns file object which can be stored in the name file object
(file-handle).
File name is a unique name in a directory. The open() function will create the file with
the specified name if it is not already exists otherwise it will open the already existing
file.
File Access Modes:
The access mode: it is the string which tells in what mode the file should be
opened for operations. There are three different access modes are available in
python.
Reading: Reading mode is crated only for reading the file. The pointer will be
at the beginning of the file.
Writing: Writing mode is used for overwriting the information on existing file.
32
Page
Append: Append mode is same as the writing mode. Instead of over writing
the information this mode append the information at the end.
Below is the list of representation of various access modes in python.
Access modes in Text Files
Read Mode: Read mode is used only to read data from the file.
Write Mode: This mode is used when you want to write data into the file
or modify it. Remember write mode overwrites the data present in the file.
Append Mode: Append mode is used to append data to the file. Remember
data will be appended at the end of the file pointer.
Read or Write Mode: This mode is used when we want to write or read
the data from the same file.
Append or Read Mode: This mode is used when we want to read data
from the file or append the data into the same file.
Buffering:
Buffering is the process of storing a chunk of a file in a temporary memory
until the file loads completely. In python there are different values can be given.
If the buffering is set to 0 , then the buffering is off. The buffering will be set
to 1 when we need to buffer the file.
Examples of Opening TEXT Files in Python
# open file in current directory
Output:
Hello World
Using this function we can read the content of the file on a line by line basis.
Example 5:
my_file =
print(my_file.readlines())
Output:
World\ Python\
Here we are reading all the lines present inside the text file including the newline
characters.
Example 5: Reading a specific line from
a File Output:
line_number = 4 How are You
fo =
Example 3:
fruits = \ \ \
my_file.writelines(fruits)
The above code writes a list of data into the file simultaneously.
Append in a Python Text File:
To append data into a file we must open the file in
mode so that we will have access to both
the append as well as write modes.
Example 1:
my_file =
my_file.write
The above code appends at the
end of the file
Example 2:
my_file =
my_file.write \
The above code appends the string at the end
of
the file in a new line
flush() function
When we write any data to file, python hold everything in buffer (temporary
memory) and pushes it onto actual file later. If you want to force Python to write
the content of buffer onto storage, you can use flush() function.
Python automatically flushes the files when closing them i.e. it will be implicitly
called by the close(), BUT if you want to flush before closing any file you can use
flush()
REMOVING WHITESPACES AFTER READING FROM TEXT FILE
read() and readline() reads data from file and return it in the form of string and
readlines() returns data in the form of list.
All these read function also read leading and trailing whitespaces, new line
characters. If we want to remove these characters you can use functions
strip() : removes the given character from both ends.
lstrip(): removes given character from left end
rstrip(): removes given character from right end
File Pointer
Every file maintains a file pointer which tells the current position in the file
where reading and writing operation will take.
When we perform any read/write operation two things happens:
The operation at the current position of file pointer
File pointer advances by the specified number of bytes.
35
Page
1- MARK QUESTIONS
1. To read three characters from a file object f, .
(a) f.read(3) (b) f.read() (c) f.readline() (d) f.readlines()
2. The files that consists of human readable characters
(a) binary file (b) text file (c) Both (a) and (b) (d) None of these
3. Which function is used to write a list of string in a file?
(a) writeline() (b) writelines() (c) writestatement() (d) writefullline()
4. What will be the output of the following Python code?
myFile = None
for i in range (8):
with as myFile:
if i > 5:
break
print(myFile.closed)
s=myfile.read(10)
print(s)
s1=myfile.read(15)
print(s1)
myfile.close()
s=f.readline()
lcount=len(s)
print(lcount)
f.close( )
(a) 4 (b) 2 (c) 1 (d) 8
36
Page
8. What is the output of following code?
s=0
ts=0
while str:
str=f.readline()
ts=ts+len(str)
print(ts)
f.close()
(a) 44 (b) 43 (c) 37 (d) 45
9. What is the output of following code?
def test () :
s=open
f=s.read()
z=f.split( )
count=0
for i in z:
count=count+1
print(count)
lines=0
l=f.readlines( )
for i in l:
if i [0] = = :
lines+=1
print(lines)
(a) 2 (b) 1 (c) 3 (d) Error
1. (a) ) 2. (b) 3. (a) 4. (a)5. (d) 6. (b) 7. (b) 8. (a)9. (b) 10.
2 MARK QUESTIONS
Q1. Write a single loop to display all the contens of a text file file1.txt after removing leading
and trailing WHITESPACES
out=open('output.txt','w')
out.write('hello,world!\n')
out.write('how are you')
out.close( )
open('output.txt').read( )
37
Page
Q3. Read the code given below and answer the questions
f1=open('main.txt','w')
f1.write('bye')
f1.close()
If the file contains 'GOOD' before execution, what will be the content of the file after
execution of the code
Q4. Observe the following code and answer the follow
f1=open("mydata","a")
#blank1
f1.close()
(i) what type of file is mydata
(ii) Fill in the blank1 with statement to write "abc" in the file "mydata"
Q5. A given text file data.txt contains :
Line1\n
\n
line3
Line 4
\n
line6
What would be the output of following code?
f1=open('data.txt')
L=f1.readlines()
print(L[0])
print(L[2])
print(L[5])
print(L[1])
print(L[4])
print(L[3])
Q6. In which of the following file modes the existing data of the file will not be lost?
i) rb
ii) w
iii) a+b
iv) wb+
v) r+
vi) ab
vii) w+b
viii)wb
ix) w+
Q7. What would be the data types of variables data in following statements?
i) Data=f.read( )
ii) Data=f.read(10)
iii) Data=f.readline()
iv)Data=f.readlines()
Q8 Suppose a file name test1.txt store alphabets in it then what is the output of the following
code
f1=open("test1.txt")
size=len(f1.read())
print(f1.read(5))
Q9. What is standard input, output and error steams?
Q10. Write a short note on flush() function.
38
Page
ANSWER 2-MARK QUESTIONS
Ans1 for line in
print(line.strip())
Ans2 The output will be
Hello,world!
How are you?
The first line of code is opening the file in write mode,the next two line writes text t file .the
last line
opens the file and from that reference reads the file content.file() performs the same functions
applied.
Ans3 The file would now contains because when an existing file is openend in
write mode .it
truncates the existing data in file .
Ans4 i) Text file
ii)
Ans5 Line1
Line3
Line 6
Line 4
Ans6 ab and a+b mode
Ans7 a) string b)string c)string d)list
Ans 8 No Output
Explanation: the f1.read() of line 2 will read entire content of file and place the file pointer at
the
end of file. for f1.read(5) it will return nothing as there are no bytes to be read from EOF and,
thus,print statement prints nothing.
Ans 9
Standard input device(stdin) reads from the keyboard
Standard output device(stdout)- prints to the display and can be redirected as standard
input
Standard error device(stderr)- Same as stdout but normally only for errors. Having error output
separately allows the user to divert regular output to a file and still be able to read error messages.
Ans 10
While writing, Python writes everything into a buffer and pushes it into file at a later
time.
When flush() function is called it immediately empties the buffer and writes into the
file.
This function is called automatically when file is closed.
39
Page
3 MARK QUESTIONS
Q1. Write a python code to find the size of the file in bytes, number of lines and number
of words.
# reading data from a file and find size, lines, words
str=f.read( )
size=len(str)
of file n
f.seek(0)
L=f.readlines( )
word=L.split( )
f.close( )
Q2. Write code to print just the last line of a text file
Ans:
lineList=fin.readlines()
line = lineList[-1])
Q.3 Write a program to count the words and present in a text file
Ans.
fname = "python.txt"
num_words = 0
f= open(fname, 'r')
words = f.read().split()
for a in words:
num_words = num_words + 1
print("Number of words:", num_words)
f.close()
Q.4. Write a program to display all the lines in a file along with line/record
number.
Ans.
fh=open("python.txt","r")
count=0
lines=fh.readlines()
for a in lines:
count=count+1
print(count,a)
fh.close()
Q. 5 Write a program to display all the lines in a file have the word
in it.
Ans.
fh=open("python.txt","r")
count=0
lines=fh.readlines()
for a in lines:
if > 0) :
print(a)
fh.close()
40
Page
3- MARK QUESTIONS
1. Write a python program to create and read the city.txt file in one go and print
the contents on the output screen.
Answer:
# Creating file with open() function
f=open("city.txt","w")
f.write("My city is very clean city.")
f.close()
# Reading contents from city.txt file
f=open("city.txt","r")
dt = f.read()
print(dt)
f.close()
2. Consider following lines for the file friends.txt and predict the output:
Friends are crazy, Friends are naughty !
Friends are honest, Friends are best !
Friends are like keygen, friends are like license key !
We are nothing without friends, Life is not possible without friends !
f = open("friends.txt")
l = f.readline()
l2 = f.readline(18)
ch3=f.read(10)
print(l2)
print(ch3)
print(f.readline())
f.close()
Output:
Friends are honest
, Friends
are best !
Explanation:
In line no. 2, f.readline() function reads first line and stores the output string in l but not printed
in the code, then it moves the pointer to next line in the file. In next statement we have
f.readline(18) which reads next 18 characters and place the cursor at the next position i.e.
comma (,) , in next statement f.read(10) reads next 10 characters and stores in ch3 variable and
then cursor moves to the next position and at last f.readline() function print() the entire line.
3. Write a function count_lines() to count and display the total number of lines from the
file. Consider above file friends.txt.
def count_lines():
f = open("friends.txt")
cnt =0
for lines in f:
cnt+=1
lines = f.readline()
print("no. of lines:",cnt)
f.close()
4. Write a function display_oddLines() to display odd number lines from the text file.
Consider above file friends.txt.
def display_oddLines():
f = open("friends.txt")
cnt =0
for lines in f:
41
Page
cnt+=1
lines = f.readline()
if cnt%2!=0:
print(lines)
f.close()
5. Write a function cust_data() to ask user to enter their names and age to store data in
customer.txt file.
def cust_data():
name = input("Enter customer name:")
age=int(input("Enter customer age:"))
data = str([name,age])
f = open("customer.txt","w")
f.write(data)
f.close()
4 MARK QUESTIONS
Q1. This question consists of 6 sub-questions . Attempt any 5 questions.
Below is a program to delete the line having word (passed as argument). Answer the
questions that follow to execute the program successfully.
def filedel(word) :
file1 = # Statement 1
nfile =
while True :
line = file1. # Statement 2
if not line :
break
else :
if word in line :
# Statement 3
else :
print(line)
nfile. (line) # Statement 4
file1.close()
. close() # Statement 5
(i). In which mode, program should open the file to delete the line in statement 2?
(a) w (b) r (c) r+ (d) a+
(ii). Choose the correct option to fill up the blank in line marked as Statement 3.
(a) read() (b) read(n) (c) readlines() (d) readline()
(iii). Identify the missing code for blank space in line marked as Statement 4.
(a) True (b) Flag (c) pass (d) False
(iv). Choose the correct option to fill up the blank in line marked as Statement 5.
(a) read (b) write (c) writelines (d) writeline
(v). Choose the correct option to fill up the blank in line marked as Statement 6.
(a) file 1 (b) file (c) nfile (d) None
Answer 1
(i). (b) (ii). (d) (iii) (c) (iv). (b) (v). (c)
while : #Line 2
rec = f . #Line 3
if rec = =
#Line 4
count = #Line 5
print(count, rec, end =
#Line 6
(i). Choose the correct option to fill up the blank marked as Line 1.
(a) status (b) (c) status.txt (d) file.txt
(ii). Choose the correct option to fill up the blank marked as Line 2.
(a) 0 (b) 1 (c) False (d) True
(iii). Which function will be used to read the content of file marked as Line 3?
(a) readline() (b) readlines() (c) read() (d) read(n)
(iv). Choose the correct option to fill up the blank marked as Line 4.
(a) continue (b) break (c) goto (d) label
(v) Which value will be assign to variable count in Line 5?
(a) count (b) count*i (c) count +1 (d) count + i
(vi). Identify the missing code in Line 6.
(a) f.close (b) myfile.close (c) file.close() (d) f.close()
Answer 2
(i). (b) (ii). (d) (iii). (a) (iv). (b) (v). (c) (vi). (d)
MIND MAP
Binary Files
FILE HANDLING
Text Files
Binary Files-A binary file stores the data in the same way as as stored in the memory. The
.exe files,mp3 file, image files, word documents are some of the examples of binary files.we
read a binary file using a text editor.e.g. .bmp,.cdr etc.
Mostly .txt,.rtf are used as extensions to text files. Can have any application defined extension.
Opening and closing of binary file is same as text file opening and closing. While opening
any binary file we have to specify in file opening mode.
Python has a module which does this work for us and is extremely easy to use. This module
is called pickle; it provides us with the ability to serialize and deserialize objects, i.e., to
convert objects into bitstreams which can be stored into files and later be used to
reconstruct the original objects.
pickle.dump() function is used to store the object data to the file. It takes 3 arguments.First
argument is the object that we want to store. The second argument is the file object we get
by opening the desired file in write-binary (wb) mode. And the third argument is the key-
value argument.
Pickle.load() function is used to retrieve pickled data.The steps are quite simple. We have to
use pickle.load() function to do that.
A Binary file is a file that contains information in the same format in which the information
is held in memory, ie the file content that is returned to us is raw ( with no translation or
specific encoding )
2 Marks Questions
Q(ii)
Assertion ( A ) : Access mode opens a file for appending.
Reason ( R ) : The file pointer is at the end of the file if the file exists.
6. Write in short : 2
i) What is the use of open( ) method ?
ii) What is the use of tell( ) method ?
7. What is the use of load( ) and dump( ) methods? 2
8. Answer in brief : 2
i) Purpose of close( ) function.
ii) Purpose of flush( ) function.
9. Explain seek( ) method. 2
3 Marks Questions
3. Write a program that reads a binary file and displays all records of 3
employees one by one.
4. Write a program that reads a binary file and display the records of all 3
those employees who are getting salary greater than 20000.
5. a) Which method is used to write list, tuple and sequence data types in a binary file ? 3
b) Which function forces Python to write the contents of buffer to file?
c) Which area is automatically associated with the file when we open it?
4 Marks Questions
i) Search operation
ii) Append operation
iii) Update operation
48
Page
iv) tell(0 function
3. Create the file phonebook.dat that stores the details in following format : 4
Name Phone
Alex 7865443
Neha 8855342
Obtain the details from the user.
5 Marks Questions
1. Write a function to write numbers into a binary file and read the same. 5
2. Read the following passage and answer the questions that follow : 5
Ramesh, was assigned an incomplete task search( ) function whose purpose was to
search in a pickled file student.dat The following information about student.dat is
known :
Ramesh has been assigned the task to complete the code and print details of roll
number 1 .
def search( ) :
f=open("student.dat", ) # statement-1
: # statement-2
while True :
rec=pickle. # statement-3
if( ) : # statement-4
print(rec)
except : pass
# statement-5
iv) What will be the suitable code for blank space in statement-4?
a) rec[0]==2 b) rec[1]==2 c) rec[2]=2 d) rec[0]==1
7. Write a function searchprod( pc) in python to display the record of a particular product
from a file product.dat whose code is passed as an argument. Structure of product contains
the following elements [product code , product price]
9. Write a function countrec(sport name) in Python which accepts the name of sport as
parameter and count and display the coach name of a sport which is passed as argument
from the binary file Structure of record in a file is given below
[sport name, coach name]
10.
Marking Scheme
1 Mark Questions
1. b) .DAT 1
2. load() 1
3. False 1
4. c) pickle 1
5. a) wb+ 1
6. True 1
7. (c) dump( ) and load( ) 1
8. with 1
9. load() 1
10. b) dump() 1
2 Marks Questions
1. a) True 2
b) False
2. i) It can handle large files. 2
ii) It consists of data with a specific pattern without any delimiter,
3. a) 2
b)
4. a) Textfile. 2
b)
5. i) Option B is correct. 2
ii) Option A is correct.
6. i) It opens a file on disk and associates it with a file handle. 2
ii) It tells us the current position of the file pointer within the file.
7. load( ) function is used for reading data fromn a binary file. 2
dump( ) function is to write the object in a binary file.
8. i) It breaks the link of the file object and the file on disk. After file is closed, no file 2
operations can be don on the file.
ii) It forces the writing of data on the disk still pending in output buffers.
9. Syntax is seek( offset, from_what) 2
It changes the current file pointer position. The offset argument indicates the
number of bytes to be moved. The from_what argument specifiesthe reference
[position from where the bytes are to be moved.
3 Marks Questions
51
Page
1. a) wb+ mode is used to open a binary file in write and read modes both. 3
b) ab+ mode is used to open a binary file in append and read mode both.
Previous content is preserved.
c) rb mode is used to open a binary file in read only mode. No other operation can
be performed.
2. a) Serialization is to convert objects into bitstreams which can be stored into 3
files, whereas de-serialization is used to reconstruct the original objects. It is
also known as pickling.
b) The dump( ) function is used to perform pickling ie write data into a binary file.
Whereas the load( ) function is used to perform unpickling ie read data from a
binary file.
c) close( ) function delinks the file_object with the file on the disk. The flush( )
function forces the write operation on the disk file which remains in the pending
status.
3. import pickle 3
f1=open("emp.dat","rb")
e=pickle.load(f1)
for x in e :
print(x)
f1.close( )
4. import pickle 3
f1=open("emp.dat","rb")
e=pickle.load(f1)
for x in e :
if(e[x]>20000) :
print(x)
f1.close()
5. a) writelines( ) 3
b) flush( )
c) buffer
4 Marks Questions
1. def Readfile( ) : 4
x=i.readline()
while(x) :
iv) tell( ) function : It returns the current position of the file pointer in the
file.
createfile() # This function is called just to verify result and not required in exam
def countrec(Author):
fobj=open("Book.dat", "rb")
num = 0
try:
while True:
rec=pickle.load(fobj)
if Author==rec[2]:
num = num + 1
print(rec[0],rec[1],rec[2],rec[3])
except:
fobj.close()
return num
n=countrec("amit") # This function is called just to verify result and not required in
exam
print("Total records", n) # This statement is just to verify result and not required in
exam
4 import pickle 5
def countrec():
fobj=open("student.dat","rb")
num = 0
try:
while True:
rec=pickle.load(fobj)
if rec[2]>75:
54
Page
num = num + 1
print(rec[0],rec[1],rec[2])
except:
fobj.close()
return num
5 import pickle 5
def countrec():
fobj=open("bus.dat","rb")
num = 0
try:
while True:
rec=pickle.load(fobj)
if rec[2]=="Cochin" or rec[2]=="cochin":
num = num + 1
print(rec[0],rec[1],rec[2])
except:
fobj.close()
return num
n=countrec() # This function is called just to verify result
print(n)
6 import pickle 3
def addrec():
fobj=open("student.dat","ab")
rollno=int(input("Roll Number : "))
sname=input("Student Name :")
rec=[rollno,sname]
pickle.dump(rec,fobj)
fobj.close()
addrec()
7 import pickle 5
def searchprod(pc):
fobj=open("product.dat","rb")
num = 0
try:
while True:
rec=pickle.load(fobj)
if rec[0]==pc:
print(rec)
except:
fobj.close()
print(rec[0],"\t\t",rec[1])
num=num+1
return num
except:
fobj.close()
10 def countrec(): 5
num=0
fobj=open("data.dat","rb")
try:
print("Emp id\tEmp Name\tEmp Sal")
while True:
rec=pickle.load(fobj)
if rec[2]>20000:
print(rec[0],"\t\t",rec[1],"\t\t",rec[2])
except:
fobj.close()
countrec()# This function is called to verify the result
11 def countrec(): 5
fobj=open("data.dat","rb")
try:
print("Emp id\tEmp Name\tEmp Sal")
while True:
rec=pickle.load(fobj)
if rec[2]>20000:
print(rec[0],"\t\t",rec[1],"\t\t",rec[2])
except:
fobj.close()
countrec()# This function is called to verify the result
56
Page
File Handling (CSV File)
CSV (Comma Separated Values) is a file format for data storage which looks like a text
file. The information is organized with one record on each line and each field is separated by
comma.
CSV File
CSV (Comma-separated values) is a common data exchange format used by the
applications to produce and consume data.
A CSV file is a simple text file where each line contains a list of values (or fields)
delimited by commas (mostly), but you will encounter CSV files where data is
delimited using tab (\t) or pipe (|) or any other character.
The first line of the CSV file represents the header containing a list of column names
in the file.
CSV file is commonly used to represent tabular data
See the following table
57
Page
Name Class Section
Amit X A
Sumit XI B
Ashish XII C
If the values in the table contain comma(,) like below in column Address
Name Class Address
Amit X Fr. Agnel School, Delhi
Sumit XI Fr. Agnel School, Delhi
Then in CSV it will be stored like below (Values containing comma will be enclosed in
double quotes)
1. reader() function : This function help us to read the csv file. This function takes a
file object and returns a _csv.reader object that can be used to iterate over the contents
of a CSV file.
How to read entire data from data.csv file?
data.csv
CODING OUTPUT
import csv , ,
, ,
row = csv.reader(f)
for i in row : Notice that each line in the CSV file is returned as a list of
print(i) strings
f.close()
import csv
, ] , ,
row = csv.reader(f) ,
next(row)
next(row)
for i in row :
print(i[0] , i[2])
f.close()
If we use the next() function two times
then it will skip two lines from
beginning
If there is any other delimiter other than comma like in the following file
59
Page
CODING OUTPUT
import csv , , ,
f= , , ,
row = csv.reader(f, delimiter = , , ,
for i in row : , a
print(i)
f.close()
2. writer() function : This function help us to write data in a csv file. It accepts the
same argument as the reader() function but returns a writer object (i.e _csv.writer)
There are two main methods used in writing in csv file
1. writerow()
2. writerows()
using writerow():
CODING DATA.CSV
import csv Name , Class
f= ,
wr = csv.writer(f)
,
,
f.close( )
using writerows():
CODING DATA.CSV
import csv Name, Class, Subject
fields = , , Amit, XII, CS
rows = , , Sumit, X, IP
, , , Ashu, XI, CS
,
f= , , newline =
wr = csv.writer(f)
wr.writerow(fields)
wr.writerows(rows)
f.close()
This CSV file has no header. So we have to provide field names via
the fieldnames parameter
60
Page
CODING
import csv
f= ,
row = csv.DictReader(f, fieldnames = , ,
for i in row:
print(i)
f.close()
OUTPUT
: : , :
: : :
: : :
data.csv
Amit, XII, CS
Sumit, X, IP
Ashu, XI, CS
Reasoning: If we try to write on a csv file that does not exist, the file gets Created
(A) Both Assertion and reason are true and reason is the correct explanation of assertion.
(B) Assertion and reason both are true but reason is not the correct explanation of assertion.
(C) Assertion is true, reason is false.
(D) Assertion is false, reason is true.
62
Page
5 Marks
Q1 Rohit, a student of class 12th, is learning CSV File Module in Python. During examination, he has
. been assigned an incomplete python code (shown below) to create a CSV File 'Student.csv' (content
shown below). Help him in completing the code which creates the desired CSV File.
CSV File
1,AKSHAY,XII,A
2,ABHISHEK,XII,A
3,ARVIND,XII,A
4,RAVI,XII,A
5,ASHISH,XII,A
Incomplete Code
import #Statement-1
fh = open( , , newline='') #Statement-2
stuwriter = csv. #Statement-3
data = []
header = ['ROLL_NO', 'NAME', 'CLASS', 'SECTION']
data.append(header)
for i in range(5):
roll_no = int(input("Enter Roll Number : "))
name = input("Enter Name : ")
Class = input("Enter Class : ")
section = input("Enter Section : ")
rec = [ ] #Statement-4
data.append(rec)
stuwriter. (data) #Statement-5
fh.close()
i. Identify the suitable code for blank space in line marked as Statement-1.
a) csv file b) CSV c) csv d) Csv
ii. Identify the missing code for blank space in line marked as Statement-2?
a) "School.csv","w" b) "Student.csv","w"
c) "Student.csv","r" d) "School.csv","r"
iii. Choose the function name (with argument) that should be used in the blank
space of line marked as Statement-3
a) reader(fh) b) reader(MyFile) c) writer(fh) d) writer(MyFile)
iv. Identify the suitable code for blank space in line marked as Statement-4.
a) 'ROLL_NO', 'NAME', 'CLASS', 'SECTION' b) ROLL_NO, NAME, CLASS, SECTION
c) 'roll_no','name','Class','section' d) roll_no,name,Class,sectionc) co.connect()
v. Choose the function name that should be used in the blank space of line marked
as Statement-5 to create the desired CSV File?
a) dump() b) load() c) writerows() d) writerow()
Marking Scheme
1 Marks
Q1. (C) csv
Q2. (B) Finding data uniquly
Q3. (D) 1
Q4. (B) Binary file
Q5. (A) \\ data = pd.read_csv(source)
2 Marks
Q4. (C) Assertion is true, reason is false.
Q7. (B) Assertion and reason both are true but reason is not the correct explanation of
assertion.
63
Page
Q10. (C) Assertion is true, reason is false.
Q11. (D) Assertion is false, reason is true.
5 Marks
Q1
i. Correct Answer : c) csv
ii. Correct Answer : b) "Student.csv","w"
iii. Correct Answer: c) writer(fh)
iv. Correct Answer : d) roll_no,name,Class,section
v. Correct Answer : c) writerows()
POP:
UNDERFLOW
PUSH:
POP(Stk):
OVERFLOW
o if len(Stk) == 0:
PUSH(Stk,ele):
o Stk.append(ele) o else:
Stk.pop()
APPLICATIONS OF STACK :
1. Reverse a word / line : In a Stack, the elements can be read from TOP end, ie the last
element. Hence it is used to reverse a word or line.
2. The Compiler uses Stack to store the previous state of a program, when a function is
called(activated) . ( During Recursion / Recursive funcrion calls)
3. Undo Mechanism in Text Editors.
First of all , let us solve some basic questions :
A) Fill in the blanks : ( These are 1 marks questions )
i) means organization of data. (Ans: Data structure)
ii) Stack is also known as ...............list. (Ans: LIFO)
iii) Insertion of an element in a Stack is known as ......... (Ans: push )
iv) Deletion of an element from top of Stack is known as ...... (Ans: pop)
v) LIFO stands for ........... (Ans: Last-In-First-Out)
B) State whether the statements are True or False : ( These are 1 marks questions )
i) Insertion and Deletion from a Stack, takes place only from TOP. (Ans: True)
ii) If a Stack is Empty, it is termed as STACK OVERFLOW. (Ans: False)
iii) Removal of an element from top of stack is termed as POP. (Ans:True)
iv) Undo mechanism of text editors is an application of Stack. (Ans: True)
v) Insertion of an element to the top of stack is termed as PUSH. (Ans: True)
Questions:
S.No. Question
Q 01 Stack is also known as: 1
a) First-in First-out b) Last-in-First-out c) Both a and b d) None of these
Ans b) Last-in-First-out
Q 02 In a stack, if a user tries to remove an element from empty stack, it is known as: 1
a) Underflow b) Empty c) Overflow d) None
Ans a) Underflow
Q 03 What type of data structure a stack is? 1
a) Linear b) Non-Linear c) Both A and B d) None
Ans a) Linear
Q 04 Which one of the following is an application of Stack Data Structure? 1
a) Managing Function Call b) Arithmetic Expression Evaluation
c) Undo Redo d) All of the above
Ans d) All of the above
Q 05 Which data structure we can use for reversing a string? 1
a) Queue b) List c) Stack d) Dictionary
Ans c) Stack
Q 06 Stack can be implemented in Python using: 1
a) Tuple b) Dictionary c) Set d) List
Ans d) List
Q 07 What are the two operations of stack? 1
Ans The two operations of stack are Push and Pop
Q 08 How do we test for empty stack? 1
Ans if len(stk) == 0:
is
Q 09 Why do we use append() method of list in push operation? 1
Ans To push data at the top of the stack.
Q 10 ASSERTION AND REASONING based questions. Mark the correct choice as 1
(a) Both A and R are true and R is the correct explanation for A
(b) Both A and R are true and R is not the correct explanation for A
(c) A is True but R is False
(d) A is false but R is True
Assertion (A): - In stack during pop operation it is necessary to check for
underflow.
Reasoning (R): - Underflow is the when the memory allocated to the stack gets
full.
Ans c) A is True but R is False
Q 11 Define any two characteristics of stacks. 2
66
Page
Ans Stack is a data structure in which insertion and deletion is done from one end
only, usually referred to as TOP.
Stack follows LIFO principle using which an element inserted in the last will be
the first one to be out.
Q 12 Define any two application of stacks. 2
Ans Reversing a string.
In text/image editor for redo/undo the editing.
Q 13 Write down the status of Stack after each operation: 2
Stack = [10,20,30,40] where TOP item is 40
Push 70
Push 100
Pop an item from Stack
Ans |100|
| 70 | | 70 | | 70 |
| 40 | | 40 | | 40 |
| 30 | | 30 | | 30 |
| 20 | | 20 | | 20 |
| 10 |, | 10 | and | 10 |
Q 14 What will be the output of the following code: 2
def PUSH(L):
Stk = []
for i in L:
if i % 5 == 0:
Stk.append(i)
for i in range(len(L)-1, -1, -1):
print(L[i])
else:
is
PUSH([12,23,34,54,56,67,87,89])
Ans Stack is Empty
Q 15 What will be the output of the following code: 2
def POP(Stk):
if len(Stk) == 0
is
else:
while len(Stk) != 0:
x = Stk.pop()
if x[0] not in
print(x)
Stk = are am
POP(Stk)
Ans Thank you
How are you
Hello
Q 16 What will be the output of the following code: 2
def G75(D):
Stk = []
for k in D:
if D[k] > 75:
Stk.append(k)
67
Page
if len(Stk) == 0:
is
else:
while len(Stk) != 0:
print(Stk.pop())
D= 75}
G75(D)
Ans Vijay
Ajay
Q 17 Find the error in the following code and write the correct code and underline the 2
corrected ones:
Def POP(Stk):
If len(Stk) == 0
is
else
F=1
while len(Stk) != 0:
F = F * Stk.pop()
return F
Ans def POP(Stk):
if len(Stk) == 0
is
else:
F=1
while len(Stk) != 0:
F = F * Stk.pop()
return F
Q 18 Find the error in the following code and write the correct code and underline the 2
corrected ones:
def PUSH(Stk, L):
for w IN L:
if w[0] IN
Stk.extend(w)
Ans def PUSH(Stk, L):
for w in L:
if w[0] in
Stk.append(w)
Q 19 Find the error in the following code and write the correct code and underline the 2
corrected ones:
def Display(L)
l = len L
if l == 0:
print(Stack is Empty!!!)
else:
print("Elements in stack are:")
For i in range(l - 1, -1, -1):
print(L[i])
Ans def Display(L):
l = len(L)
68
Page
if l == 0:
print("Stack is Empty!!!")
else:
print("Elements in stack are:")
for i in range(l - 1, -1, -1):
print(L[i])
Q 20 Write a function in Python PUSHD3(L), where L is a list of numbers. from this 3
list push all numbers divisible by 3 into a stack implemented using a list. Display
the stack if it has at least one element, otherwise display appropriate error
message.
Ans def PUSHD3(L):
Div3 = []
for i in L:
if i % 3 == 0:
Div3.append(i)
if len(Div3) == 0
is
else:
while len(Div3) != 0:
print(Div3.pop())
Q 21 Sakshi has created a dictionary D, containing names and salary as key value pairs 3
of 5 employees. Write two separate functions to perform the following
operations:
PUSH(HS, D), where HS is the stack and D is the dictionary which containing
names and salaries. Push the keys (name of the employee) of the dictionary into
a stack, where the corresponding value (salary) is greater than
POP(HS), where HS is the stack. Pop and display the content of the stack.
Ans def PUSH(HS, D):
for k in D:
if D[k] > 75000:
HS.append(k)
def POP(HS):
if len(HS) == 0
is
else:
while len(HS) != 0:
x = HS.pop()
print(x)
Q 22 Write the functions in python, PUSH(Stk, L) and POP(Stk), where Stk is the 3
stack and L is a list of strings. In PUSH function read the list and push those
string into the stack which start with a vowel. And in POP function display the
stack.
Ans def PUSH(Stk, L):
for w in L:
if w[0] in
Stk.append(w)
def POP(Stk):
if len(Stk) == 0
is
else:
69
Page
while len(Stk) != 0:
x = Stk.pop()
print(x)
Q 23 What will be the output of following code: 3
def PUSH(Stk, N)
for i in range(N,0,-1):
Stk.append(i)
def POP(Stk):
if len(Stk) == 0
is
else:
F=1
while len(Stk) != 0:
F = F * Stk.pop()
return F
Stk = []
PUSH(Stk, 5)
print(POP(Stk))
Ans 120
Q 24 Write a function DoubleStack(Stk), where Stk is a stack containing integers. In 3
the function pop all the element of the stack and double the elements then push
back to the stack in its original place.
For example:
Stk = [10,20,30,40,50]
After the execution of the function the stack should be:
Stk = [20,40,60,80,100]
Ans Def DoubleStack(Stk):
tempStk = []
while len(Stk) != 0:
x = Stk.pop()
tempStk.append(x*2)
while len(tempStk) != 0:
x = tempStk.pop()
Stk.append(x)
Q 25 Write the functions in python, PUSH(L, data), POP(L), DISPLAY(L) to add a 4
new integer, delete an integer from a List of numbers L and display the element
of the stack, considering them to act as push and pop operations of the Stack data
structure.
Ans def PUSH(L, data):
L.append(data)
def POP(L):
if len(L) == 0:
print("Stack is empty!")
else:
return L.pop()
def Display(L):
l = len(L)
if l == 0:
print("Stack is Empty!!!")
70
Page
else:
print("Elements in stack are:")
for i in range(l - 1, -1, -1):
print(L[i])
Q 26 Write a program to reverse a string using stack. 4
Ans def revStr(S):
stk = []
rS =
for i in S:
stk.append(i)
while len(S) != 0:
rS = rS + S.pop()
return rS
S= a
rS = revStr(S)
String rS)
Q 27 Write a function PUSH(L) and POP(Stk), where L is List of integers and Stk is 4
a stack. In PUSH function create two stack StkO and StkE, then read the list L
and push all the even element in StkE and push all the odd element in StkO. At
last return both the stacks. In POP function pop the number from the stack and
display.
Ans def PUSH(L):
StkO = []
StkE = []
for i in L:
if i%2 == 0:
StkE.append(i)
else:
StkO.append(i)
return StkO, StkE
def POP(Stk):
if len(Stk) == 0
is
else:
while len(Stk) != 0:
print(Stk.pop())
Q 28 def PUSH(Stack,N): 5
Stack. ( N) #Statement 1
def POP(Stack):
if : #Statement 2
return "Underflow"
else:
return Stack. #Statement 3
Stack=[]
'PHP',
for i in range(0,len(Books), ): #Statement 4
PUSH(Stack,Books[i])
while len(Stack) != 0:
print( ) #Statement 5
71
Page
Required Output:
C
C++
C#
Fill the above statement based on given questions:
i Identify the suitable code for the blank of statement 1.
a) .append b) .insert c) .extend d) .add
Ans a) append
ii Fill the statement 2, to check the stack is empty.
a) Stack = [] b) Stack.isEmpty()
c) len(Stack) == 0 d) No of the above
Ans c) len(Stak) == 0
iii Fill the statement 3, to delete an element from the stack.
a) pop(1) b) pop() c) del Stack[1] d) delete(1)
Ans b) pop()
iv Fill the statement 4, to insert the alternate element from Books list.
a) 3 b) 0 c) -1 d) 2
Ans d) 2
v Fill the statement 5, to call the pop function.
a) pop(Books) b) pop(Stack)
c) call pop(Stack) d) def pop(Stack)
Ans b) pop(Stack)
Q 29 PUSH(S,N): #Statement 1 5
S.append(N)
def POP(S):
if S != []:
S.pop() #Statement 2
else:
return None
R={"OM":76, "JAI":45, "BOB":89, "ALI":65, "ANU":90, "TOM":82}
ST=[]
for k in R:
if R[k] >= 75:
PUSH( ) #Statement 3
True: #Statement 4
if ST != []:
print(POP(ST))
else:
#Statement 5
Required Output:
TOM
ANU
BOB
OM
Fill the above statement based on given questions:
i Fill the Statement 1, to define a function.
a) DEF b) Def c) def d) define
Ans c) def
ii Fill the Statement 2, to return the popped data.
72
Page
a) send b) pass c) assign d) return
Ans d) return
iii Fill the Statement 3, to pass the proper arguments.
a) ST, k b) k, ST c) ST d) k
Ans a) ST, k
iv Fill the Statement 4, to complete the looping structure.
a) for b) do while c) if d) while
Ans d) while
v Fill the Statement 5, to stop the infinite loop.
a) stop b) Stop c) break d) Exit
Ans c) break
Q 30 status = #Statement 1 5
def PUSH(cust):
if cust[2] == "Goa":
L = [cust[0],cust[1]]
.append(L) #Statement 2
def POP():
if (status) == 0: #Statement 3
print( ) #Statement 4
while != 0: #Statement 5
x = status.pop()
print(x)
POP()
Required Output:
Mind Map
Introduction
Computer Network is a collection of autonomous computers interconnected by a single
technology.
Two computers are said to be interconnected if they are able to exchange information.
A computer network is a system that connects independent computers in order to share
information and resources
Advantage of Computer Network:
Central Storage of Data
Sharing of Information
Sharing of Resources (Hardware & Software)
Reliability
Communication
Reduced Cost
Disadvantage of Computer Network:
Computer networks require a specific setup
Lack of Security
Cost of network hardware and software
Components of Data Communication:
Message It is information to be communicated
Sender The device which send the message
Receiver The device which receive the message
Transmission media It is physical path by which message travel from sender
to receiver
Protocol It is set of rules that governs data communication. Actually, it is
agreement between the sender and receiver regarding various communication
parameter.
Data Flow
Simplex In this mode of communication, data is transmitted in one direction
only. e.g., Keyboard, monitor. It uses entire capacity of channel to send the data.
Half Duplex Communication is bi-directional but not at the same time. i.e.,
Walkie-Talkie. It uses entire capacity of channel is utilized for each direction.
Full Duplex Communications is bi-directional simultaneously i.e., both sender
and receiver can send data at the same time.
Network Terminology
Node- The device connected to a network.
Client The device that requests for a service
Server The Device that renders the services
Client-Server - In this model, the data are stored on powerful computers called
Server that can be accessed by a much simpler computer called Client that are
connected by a network.
Network Interface Card or Unit (Network Adapter or LAN card) - It is hardware
that allows a computer (or device) to connect to network.
MAC (Media Access Control) address Each NIC is assigned a unique 12-digit
hexadecimal number, known a MAC address, is used as network address in
communication. The format for the MAC address is
MM : MM : MM : SS : SS : SS
Manufacturer ID Card Id
IP Address: Every device on network has unique identifier called IP address. It
(Period).
Channel It is communication path through which data is actually transmitted.
75
Page
Communication Media- It allows data or signal to be communicated across the
devices. It is means of communication.
Data Information stored within the computer system in form of
Signal- It is electric or electromagnetic encoding of data to be transmitted. It
can be categorized into following two types:
o Analog Signal that has infinitely many levels of intensity over a period
of time.
o Digital Signal that can have only a limited number of defined values.
Bit rate It defines the amount of data transferred. It is defined as number of
bits per second (bps). [Bps Bytes per Second]
Baud The number of changes in signal per second.
Bandwidth It is difference between the highest and the lowest frequencies
contained in the signal.
IP Address vs MAC Address
IP Address MAC Address
It is of 4 bytes It is of 6 bytes
Represented by decimal number Represented by hexadecimal number
It is logical address It is physical address
Its value can vary for the same machine It is fixed address
It can be assigned only when a device is It is assigned by manufacturer of the card
connected to network irrespective of connectivity
Command to know the IP address is Command to know the IP address is
Ipconfig ipconfig/all
Switching Technique
A switched network consists of a series of interlinked nodes called switches capable
of creating temporary connections between two or more liked devices.
There are three basic switching technique
Circuit Switching: In circuit switching a dedicated path is established before
sending data from sender to receiver and entire communication is carried out
the same path.
Packet Switching In packet switching in a message is broken into a number
of parts called packet which are sent independently from sender to receiver
and reassembled at the destination.
Message Switching:
Network Devices
Modem
It stands for modulator and demodulator
It a computer hardware device that converts data from a digital format into a format
suitable for an analog.
76
Page
A modem transmits data by modulating one or more carrier wave signals to encode
digital information, while the receiver demodulates the signal to recreate the
original digital information.
Repeater
Repeaters are network devices that amplify or regenerate an incoming signal before
retransmitting it.
It operates at physical layer of the OSI model.
The repeater allows to transfer the data through large area distance
Hub
It is a multiport device that allows multiple computers to communicate with each
other over a network.
It is a non-intelligent network device that sends message to all ports( i.e. Broadcast)
Types of Hubs
Active Hub
It strengthens the signal and may boost noise too.
It is relatively costlier than passive hub.
Passive Hub
It repeat/copy signals.
It is relatively cheaper than active hub.
Switch
Network Switch or switch is also a network multiport device that allow multiple
computers to connect together.
Network switch inspects the packet, determine source and destination address and
route the packet accordingly.
It operates at Data Link Layer (layer 2) of OSI model.
Bridge
It connects multiple network segments having same protocol
It works at Data Link Layer (Layer 2).
Bridge does not simply broadcast traffic from one network.
Bridges use bridge table to send frames across network segments.
It also improves the overall network performance.
Router
A router is a device that connects two or more packet-switched networks or
sub networks.
It serves two primary functions:
o Managing traffic between these networks by forwarding data packets
to their intended IP addresses, and
o Allowing multiple devices to use the same Internet connection.
It connects LANs (local area networks) and WANs (wide area networks).
It operates on layer 3 or 4 in OSI model
Gateway
It is simply a device or hardware that acts as a "gate" between the networks.
It connects two networks with different transmission protocols together.
It converts information, data or other communications from one protocol or format
to another.
It operates on layer 5 of OSI model
RJ45
It stands for Registered Jack.
It is common interface to connect Twisted Pair Cable.
It is used for Ethernet and Token Ring Network.
Ethernet Card
77
Page
It also known as NIC card.
It enables a computer to access an Ethernet network (LAN)
It has MAC id which gives it unique identity in the network.
Wi-Fi card
It is also known wireless network adaptor.
It is a wireless network technology that allows devices to communicate over
wireless signals.
It uses radio waves for the communication
Difference between Router and Switch
A network switch forwards data packets between groups of devices in the same
network, whereas a router forwards data between different networks.
Difference between a Router and a Modem
A router forms networks and manages the flow of data within and between those
networks, while a modem connects those networks to the Internet.
Difference between a Router and Gateway
A gateway is a concept while a router is a device that implements a gateway.
Router Gateway
It ensure that data packets are To connect two networks of different
switched to the right address with the protocols as a translator
best route.
It routes the data packets via similar It connects two dissimilar networks
networks
It supports dynamic Routing. It does support dynamic Routing.
Type of Network
PAN
It stands for Personal Area Network.
It is a computer network formed around a person.
It generally consists of a computer, mobile, or personal digital assistant.
Appliances use for PAN: cordless mice, keyboards, and Bluetooth systems.
PAN includes mobile devices, tablet, and laptop.
LAN
It is a group of computer and peripheral devices which are connected in a limited
area such as room, building & campus.
Higher Data Speed.
LANs are in a narrower geographic scope (up to 1 Km).
It is a private network.
MAN
A Metropolitan Area Network or MAN is consisting of a computer network that
span across a city.
It mostly covers towns and cities in a maximum 50 km range.
The dual bus in MAN network provides support to transmit data in both directions
concurrently.
WAN
It connects device across globe.
It uses public network
Internet
BSNL
78
Page
Network Media
Guided or Wired
Telephone (T1) cable
Twisted pair cable
STP (Shielded Twisted Pair)
UTP (Unshielded Twisted Pair)
Co-axial cable
Optical Fiber/Fibre
Unguided or Wireless
Infrared
Radio Wave
Microwave
Bluetooth
Satellite
Twisted Pair Cable
A twisted pair cable comprises of two separate insulated copper wires, which are
twisted together and run in parallel.
A STP (Shielded Twisted Pair) cable has a fine wire mesh surrounding the wires
to protect the transmission
UTP (Unshielded Twisted Pair) cable does not has a fine wire mess.
It is also known as Cat# cable where # denote number. e.g., Cat6
Connector: RJ 45
Co-axial Cable
Coaxial cabling has a single copper conductor at its center, and a plastic layer that
provides insulation between the center conductor and a braided metal shield.
Connector: BNC (Bayonet Neill-Concelman)
Optical Fibre
An optical fiber is a flexible, transparent fiber made by drawing glass or plastic to a
diameter slightly thicker than that of a human hair.
It uses light for data transmission using total internal reflection.
Unguided Media or Wireless Media
No Physical media is used
Less Secure
Relatively low speed
Can be used for longer distance
Best suited for difficult terrain
There is no need to acquire land rights
Radio Wave
Frequency 3KHz 1GHz
Omni-Directional
79
Page
Penetrate obstacle
Antenna of sender and receiver should not be aligned
Infrared
300GHz to 400THz
Line of sight- antenna of sender and receiver must be aligned
Short distance communication
It cannot penetrate obstacle best suited for indoor
Secure
Support high data rate
TV Remote
Microwave
1GHz to 300 GHz
Line of sight- antenna of sender and receiver must be aligned
Cannot penetrate obstacles
Rain or other disturbance cause issue with Microwave
Types of microwave propagation
Terrestrial Microwave propagation
Satellite Microwave propagation
Bluetooth
It also uses radio waves
2.4 GHz
Range 10mtr
Short distance
Topology
Physical and Logical arrangement of nodes in the network is called Network Topology.
Types of Topologies
Bus Tree
Ring Mess
Star Hybrid
Bus Topology
In Bus Topology all the nodes are connected to single cable or backbone
Both the end has terminators.
Ring Topology
In Ring Topology all the nodes are connected to each-other to form a loop.
Each workstation is connected to two other components on either side
It communicates with these two adjacent neighbors.
Data is sent and received using Token.
80
Page
Star Topology
In Star Topology all the nodes are connected to a central device called Hub/Switch.
All communication is controlled by the central Device (Hub/Switch)
Tree Topology
In Tree Topology, the devices are arranged in a tree fashion similar to the branches of
a tree.
It has multilayer architecture.
Protocol
It is set of rules or standard that governs communication.
Types of Protocol (Broadly can be kept in two suites of Protocols vis. TCP/IP or OSI)
FTP SMTP
HTTP/HTTPS PPP
IMAP TELNET
POP3 VoIP
TCP/IP Transmission Control Protocol/ Internet Protocol
It is a protocol suite consist of two protocols Transmission Control Protocol and
Internet Protocol.
TCP ensures reliable transmission or delivery of packets on the network.
HTTP (Hyper Text Transfer Protocol)
It is is an application-layer protocol for transmitting hypermedia documents, such as
HTML.
HTTPS (Secure Hyper Text Transfer Protocol)
It is an extension of HTTP protocol for transmitting hypermedia documents, such as
HTML securely over a network.
It encrypts data to be sent using TLS (Transport Layer Security)/SSL (Secure Sockets
Layer).
FTP (File Transmission Protocol)
It is used for the transfer of computer files among hosts over TCP/IP (internet).
Telnet (TErminaL NETWork)
It is an application protocol that allows a user to communicate with a remote device.
SMTP (Simple Main Transfer Protocol)
It is used to send mail from mail client to mail server over internet.
81
Page
POP3 (Post Office Protocol)
It provides mechanism for retrieving emails from a remote server for a mail recipient.
POP3 downloads the email from a server to a single computer, then deletes the email
from the server.
IMAP (Internet Message Access Protocol)
It is also used to retrieve mail from mail server to client over internet (TCP/IP).
It allows access to mail from different device.
VoIP (Voice over IP)
It is also known as Internet Telephony or Internet calling.
It allows to make voice calls using a broadband Internet connection instead of a regular
(or analog) phone line.
HR Centre
Law Block
Most Important Notes Applicable to All Questions based on the above patterns, which may
be kept in mind
i) In a Wing / Block / Lab connect all computers using a HUB or SWITCH. This
is known as LAN connectivity. But now a day we use SWITCH only as it
transmits data to the required destination only and thus faster in transmission.
ii) Computers in a Block are connected to the SWITCH/HUB using Cat 5 Cable.
In place of Cat 5 Cable we can also use Fibre Optics cable if we require more
speed and can afford cost.
iii) Server is placed where there is maximum number of computers as maximum
traffic will be in this block only.
iv) An additional switch may also be used to connect the switches for faster
transmission of data and this is also placed in the block where we have put the
server. These switches can be connected to the additional switch using fibre
optics since it will increase speed but cost has to be born.
v) If the company desires to have connectivity to the Internet, Internet connection
is taken and connected to switch. From here all other buildings and further
computers can access the Internet connection. If the Company wants to connect
these blocks to their office in some other distant place then we can connect these
blocks with that office using an Internet Connection, Radio Wave Connection
(if office is in hilly area), WAN connection if company can afford cost and
requires security of data also. When WAN connectivity is established, switch
is further connected to a ROUTER. Router is costly and filters the network
traffic. It routers the data to the destinations using most optimal path.
vi)
is a distance of more than 100 m between any two blocks then a suitable
REPEATER has to be placed to join Cat 5 cables as in a LAN we can use Cat 5
cable up to a maximum length of 100 m as the signal power attenuates with
more distances. So REPEATER is used to regenerate the signal.
So keeping in mind the above presumptions we answer
(a)
85
Page
(b) HR centre because it consists of the maximum number of computers to house
the server.
(c) Switch should be placed in each of these blocks.
(d) MAN
(e) star
Circuit switching requires a dedicated path before Packet switching does not require any dedicated path
sending data from source to destination. to send data from source to destination.
86
Page
Circuit Switching Packet Switching
It reserves the entire bandwidth in advance. It does not reserve bandwidth in advance
Each packet follows the same route A packet can follow any route
2. Write the full form of the following
a. FTP: File Transfer Protocol
b. TCP: Transmission Control Protocol
c. VoIP: Voice over Internet Protocol
d. SMTP: Simple Mail Transfer Protocol
3. Difference between LAN and WAN
Answer: -
87
Page
(a) Bandwidth: - Bandwidth of a channel is the range of frequencies available for
transmission of data through that channel. Higher the bandwidth, higher the data
transfer rate. Normally, bandwidth is the difference of maximum and minimum
frequency contained in the composite signals. Bandwidth is measured in Hertz (Hz).
(b) DNS: - A way to translate a URL (domain name) into IP address and vice-versa.
7. Write the name of the most suitable wireless communication channels for each of the
following situations.
a. Communication between two offices in two different countries.
b. To transfer the data from one mobile phone to another.
Answer:
a. Satellite Communication
b. Bluetooth or infrared whichever is supported by the phone.
1. You as a network expert have to suggest the best network related solutions for their
problems raised in (i) to (v), keeping in mind the distances between the buildings and
other given parameters.
1. Suggest the most appropriate location of the server inside the MUMBAI campus (out
of the four buildings) to get the best connectivity for maximum number of computers.
Justify your answer.
2. Suggest and draw cable layout to efficiently connect various buildings within the
MUMBAI campus for a wired connectivity.
3. Which networking device will you suggest to be procured by the company to
interconnect all the computers of various buildings of MUMBAI campus?
4. Company is planning to get its website designed which will allow students to see their
results after registering themselves on its server. Out of the static or dynamic, which
type of website will you suggest?
5. Which of the following will you suggest to establish the online face to face
communication between the people in the ADMIN office of Mumbai campus and Delhi
head office?
a) Cable TV
b) Email
c) Video conferencing
d) Text chat
Ans:
89
Page
i. Server should be installed in Admin department as it has maximum number of
computers.
ii.
Star topology 5 Admin examination accounts Result
iii. Hub/Switch
iv. Dynamic
v. Video conferencing
Additional Exercise:
1. Which protocol is used to exchange files on Internet
2. What is the purpose of using a MODEM?
3. What type of address is the following?
20:B9:F1:63:2F:FB
4. Identify the topologies from the followings:
(i) In it the nodes form a circular path for data to travel and each node is connected to
two other nodes.
(ii) In it devices are connected through hub/switch, hub/switch is responsible for
receiving and transmitting data from each node to destination.
5. A School would like to go in for network of all the computers. Which topology would
you recommend and why?
6. What is communication channel? What choices do you have while choosing a
communication channel for a network?
7. What do you mean by network topology? Name most popular topologies.
8. Akhil is transferring songs from his mobile to his mobile via Bluetooth
connection. Name the network used by Akhil.
Case Based
9. In Hyderabad, 5 ABC Bank branches are available. One is at RR Pet, other at Market, other at
Ashok Nagar, other at Fire Station and the last one at Bus Stand. Higher official wants to keep
a network between these 5 branches. The branch names (A to E) and the number of
computers in each branch (given inside the rectangle) is given below.
90
Page
Distance between various buildings
A to B 50 Mts
B to C 30 Mts
C to D 30 Mts
D to E 35 Mts
E to C 40 Mts
D to A 120 Mts
D to B 45 Mts
E to B 65 Mts
(i) Suggest a possible cable layout for connecting the buildings.
(ii) Suggest the most suitable place to install the server of this organization with a suitable
reason
(iii) Suggest the placement of the following devices with justification.
(a) Hub/Switch (b) Modem
(iv) The Bank wants to link its head Office in building to its main office at Mumbai.
(a) Which type of transmission medium is appropriate for such a link?
(b) What type of network this connection result into?
11. Xcelencia Edu Services Ltd. is an educational organization. It is planning to set up its India
campus at Hyderabad with its head office at Delhi. The Hyderabad campus has 4 main buildings -
ADMIN, SCIENCE, BUSINESS and ARTS. You as a network expert have to suggest the best network
related solutions for their problems raised in (i) to (iv), keeping in mind the distances between the
buildings and other given parameters.
[CBSE 2015 Main]
(i) Suggest the most appropriate location of the server inside the HYDERABAD campus
(out of the 4 buildings), to get the best connectivity for maximum number of
computers. Justify your answer.
(ii) Suggest and draw the cable layout to efficiently connect various buildings within the
HYDERABAD campus for connecting the computers.
(iii) Which hardware device will you suggest to be procured by the company to be
installed to protect and control the internet uses within the campus?
(iv) Which of the following will you suggest to establish the online face-to-face
communication between the people in the Admin Office of HYDERABAD campus and
DELHI Head Office?
a. Email
b. Text Chat
c. Video Conferencing
d. Cable TV
1. Perfect Edu Services Ltd. is an educational organization. It is planning to setup its India campus
at Chennai with its head office at Delhi. The Chennai campus has 4 main buildings ADMIN,
ENGINEERING, BUSINESS and MEDIA. You as a network expert have to suggest the best
network related solutions for their problems raised in (i) to (iv), keeping in mind the distances
between the buildings and other given parameters.
[CBSE COMP 2015]
ENGINEERING 75 75
BUSINESS 40 40
MEDIA 12 12
(i) Suggest the most appropriate location of the server inside the CHENNAI campus (out of
the 4 buildings), to get the best connectivity for maximum no. of computers. Justify your
answer.
(ii) Suggest and draw the cable layout to efficiently connect various buildings within the
CHENNAI campus for connecting the computers.
(iii) Which hardware device will you suggest to be procured by the company to be installed to
protect and control the internet uses within the campus?
(iv) Which of the following will you suggest to establish the online face-to-face
communication between the people in the Admin Office of CHENNAI campus and DELHI
Head Office?
a. Email b. Text Chat c. Video Conferencing d. Cable TV
10. Expand the following:
a) ARPANET
b) MAC
c) ISP
d) URI
11. What do you understand by the term network?
12. Mention any two main advantages of using a network of computing devices.
13. Differentiate between LAN and WAN.
14. Write down the names of few commonly used networking devices.
15. Two universities in different States want to transfer information. Which type of network
they need to use for this?
16. Define the term topology. What are the popular network topologies?
17. How is tree topology different from bus topology?
18. Identify the type of topology from the following:
a) Each node is connected with the help of a single cable.
b) Each node is connected with central switching through independent cables.
19. What do you mean by a modem? Why is it used?
20. Explain the following devices:
a) Switch b) Repeater c) Router d) Gateway e) NIC
21. Sahil, a class X student, has just started understanding the basics of Internet and web
Help him in understanding both the terms with the help of suitable examples
of each.
93
Page
Database Management System
DATABASE:
May be defined as a collection of interrelated data stored together to serve multiple
application
It is computer based record keeping system.
It not only allows to store but also allows us modification of data as per requirements
DBMS:
A DBMS refers to Database Management System
It is software that is responsible for storing, manipulating, maintaining and utilizing
database.
A database along with a DBMS is referred to as a database system.
There are various DBMS software available in the market. e.g. Oracle, MS SQL
Server, MySQL, Sybase, PostgreSQL, SQLite
Purpose of DBMS:
Reduce Data redundancy
Control Data Inconsistency
Sharing of data
Ensure data integrity
Enforce standard
Relational Database Model:
In relational database model data is organized into table (i.e. rows and columns).
These tables are also known as relations.
A row in a table represents relationship among a set of values.
A column represents the field/attributes related to relation under which information
will be stored.
For example if we want to store details of students then : Roll, Name, Class, Section,
etc. will be the column/attributes and the collection of all the column information will
become a Row/Record
Sample Tables:
EMPLOYEE:
Dept:
Deptno dname Loc
10 Accounting New York
20 Research Dallas
30 Sales Chicago
40 Operations Bostan
Component of a table:
Data Item: smallest unit of named data. It represent one type of information and often
referred to as a field or column information
Record : collection of data items which represent a complete unit of information
Table: collection of all Rows and Columns.
94
Page
Relational Data Model:-
Data is organized in two-dimensional tables called relations. The tables or relations are
related to each other.
Entity: An entity is something that exists and an object which can be distinctly
identified. For example, student entity, employee entity,
Attribute: The term attribute is also used to represent a column.
Tuple: Each row in a table is known as tuple.
Cardinality of Relation: It is the number of records or tuples in a relation.
Degree of Relation: Number of columns or attributes is known as degree of a
relation.
Domain of Relation: It defines the kind of data represented by the attribute.
Body of the Relation: It consists of an unordered set of 0 or more tuples.
Concept of Keys
In relation each record must be unique i.e. no two identical records are allowed in the
Database.
A key attribute identifies the record and must have unique values. There are various
types of Keys:
Primary key:
A set of one or more attribute that can identify a record uniquely in the relation is
called Primary Key.
There can be only one primary key in a table
Allows only distinct (no duplicate) values and also forces mandatory entry (NOT
NULL) i.e. we leave it blank.
Candidate Key
In a table there can be more than one attribute which uniquely identifies a tuples in a
relation. These columns are known as candidate key as they are the candidate for
primary key.
Among these database analyst select only one attribute as a primary key.
95
Page
Alternate Key
In case of multiple candidate keys, one of them will be selected as Primary Key and
rest of the column will serve as Alternate Key.
A Candidate Key which is not a primary key is an Alternate Key.
Foreign key
Used to create relationship between two tables.
It is a non-key attribute whose value is derived from the Primary key of another table.
Primary Key column table from where values will be derived is known as Primary
Table or Master Table or Parent Table and Foreign key column table will be Foreign
Table or Detail Table or Child table.
Example:
From the Above table definition we can observe that the DEPTNO column of EMPLOYEE
table is deriving its value from DEPTNO of table DEPARTMENT. So we can say that the
DEPTNO of EMPLOYEE table is a foreign key whose value is dependent upon the Primary
key column DEPTNO of table DEPARTMENT.
REFERENTIAL INTEGRITY:
Used to ensure relationships between records in related tables are valid and
accidentally delete or change the related data.
Referential integrity can be applied when:
o The master column is a Primary Key or has a unique index
o The related fields have the same data type
o Both tables must belong to same database.
When referential integrity is enforced using Foreign Key you must observe the
following rules:
o You cannot enter a value in Child Table which is not available in Master
Primary key column. However you can enter NULL values in foreign key
o You cannot delete a record from Master Table if matching record exists in
related table.
o You cannot modify or change the Primary Key value in Master table if its
matching record is present in related table.
Introduction of MYSQL
Brief history of MySQL:
MySQL is freely available open source RDBMS
It can be downloaded from www.mysql.org
In MySQL information is stored in Tables.
Provides features that support secure environment for storing, maintaining and
accessing data.
It is fast, reliable, scalable alternative to many of the commercial RDBMS today.
97
Page
MYSQL DATABASE SYSTEM:
MySQL database system refers to the combination of a MySQL server instance and
MySQL database.
It operates using Client/Server architecture in which the server runs on the machine
containing the database and client connects to server over a network
MySQL is a multiuser database system, meaning several users can access the database
simultaneously.
The Server
Listens for client requests coming in over the network and access the database as per
the requirements and provide the requested information to the Client.
The Client
Are the programs that connect to MySQL server and sends requests to the server and
receives the response of Server. Client may be the MySQL prompt or it may be Front-
end programming which connects to server programmatically like connecting to
MySQL using Python Language or Java or any other language.
FEATURES OF MYSQL:
Speed - MySQL runs very fast.
Ease of Use - Can be managed from command line or GUI
It is available free of cost. It is Open Source Software.
Query language Support -Supports SQL
Portability Can be run on any platform and supported by various compilers.
Data Types - supports various data types like Numbers, Char etc.
Security -Offers privileges and password systems that is very flexible and secure.
Scalability and Limits -Can handle large databases. Some of real life MySQL databases
contain millions of records.
Connectivity - Clients can connect to MySQL using drivers
Localization -The server can provide error message to client in many language
SQL and MYSQL:
SQL stands for Structured Query Language.
It is a language that enables you to create and operate on relational databases.
MySQL uses SQL in order to access databases.
It is the standard language used by almost all the database s/w vendors.
MYSQL Elements
Literals
Data types
Null
Comments
Literals
It means the fixed value or constant value. It may be of character, numeric or date
time type.
Character and date/time literals are always in single quotation marks whereas numeric
literals must be without single quotation marks.
For example 12, 12.56, -20-
Date and time values are always in the format YYYY-MM-DD HH:MI:SS.
Special character like quotes are always written be preceding it back-slash(\). For
example if we want to store value as Cat then it should be written as Tom\
Cat
Data Type
Means the type of value and type of operation we can perform on data. For example,
on numeric value we can store numbers and perform all arithmetic operations and so
on.
MySQL support three categories of data types:
Numeric
98
Page
Date and time
String types
Systax:
Page
alter table <tablename>
modify column <colname> datatype(size);
o Renaming column name
Alter table tablename
Change old_columnname new_column_name datatype (size)
Update <tablename> - This command is used to update data from the table
Syntax:
UPDATE table_name SET column_name=new_value, column2_name=new_value
WHERE condition;
o sum() - Return the summation of all non-NULL values of the set of values.
In above example there are 14 row in the EMP table, but distinct clause
only consider unique value.
Group By Clause
o It is used in a SELECT statement to collect data across multiple records and group
the results by one or more columns.
Syntax:
SELECT column_name, aggregate_function
FROM table_name
GROUP BY column_name
In above example salary is grouped on job and maximum salary from each job is
displayed.
o Select clause involving group by clause can contain column present in group by
clause, aggregate function or no column. Otherwise it will return random data
from other column as given below.
Having clause
o Having clause is used to place condition on aggregate function in conjunction with
group by clause.
o Having clause in placed after where clause in select statement.
Syntax:
SELECT columm_name, aggregate_function(col_name)
FROM table
104
WHERE condition
Page
GROUP BY column_name
HAVING aggregate_function(column_name) operator expression;
The above query will display deptno, maximum salary and number of employees
from each department.
The query given below display deptno, maximum salary and number of employees
from those department which have maximum salary greater than equal to 3000.
Write SQL query to create the above table with appropriate data types and sizes of columns.
9. Ms. Rajshri is the Class Teacher of Class XII. She wants to create a table named
marks in different subjects of her class. Identify any 4 columns for the table along with their
suitable data types.
105
Page
10.
data of workshops that are organi
following structure:
11. Ariya wants to add another column in the already existing table
She has written the following statement. However, it errors. Rewrite the correct statement.
MODIFY TABLE CUSTOMERS GENDER char(1);
12. Explain the following statement with the help of example:
13. a transaction either all the SQL statements be committed or all rolled
14. How is HAVING clause similar to WHERE clause? How is HAVING clause different from
WHERE clause? Explain with the help of examples of each.
15. Consider the following table that stores the order details about items to be
transported. Write SQL commands for the statements (i) to (viii).
Table: TRANSPORTER
ORDERNO DRIVERNAME DRIVERGRADE ITEM TRAVELDATE DESTINATION
10012 RAMYADAV A TELEVISION 2019-04-19 MUMBAI
10014 SOMNATHSINGH FURNITURE 2019-01-12 PUNE
10016 MOHANVERMA B WASHINGMACH 2019-06-06 LUCKNOW
10018 RISHISINGH A REFRIGERATOR 2019-04-07 MUMBAI
10019 RADHEMOHAN TELEVISION 2019-05-30 UDAIPUR
10020 BISHENPRATAP B REFRIGERATOR 2019-05-02 MUMBAI
10021 RAM TELEVISION 2019-05-03 PUNE
(i) To display names of drivers and destination city where TELEVISION is being
transported.
(ii) To display driver names and destinations where destination is not MUMBAI.
(iii) To display the names of destination cities where items are being transported. There
should be no duplicate values.
(iv) To display details of rows that have some value in DRIVERGRADE column.
(v) To display names of drivers, names of items and travel dates for those items that are
being transported on or before 1st April 2019.
(vi) To display the number of drivers who have anywhere in their names.
(vii) To display the names of drivers, item names and travel dates in alphabetic
(ascending) order of driver names.
(viii) To display names of drivers whose names are three characters long.
17. In CHAR(10) and VARCHAR(10), what does the number 10 indicate ?
18. table has a column named that stores city in which each employee resides.
or
19. Consider the table given below. Write SQL queries for (i) to (vii).
Table: Gym
REGID NAME PREWEIGHT CURRWEIGHT DOJ GENDER BRANCH
Columns REGID stores Registration Id, PREWEIGHT stores weight of the person before joining
Gym, CURRWEIGHT stores current weight, DOJ stores Date of Joining, BRANCH stores the
branch of Gym where the person has enrolled.
(i) To display names of members along with their previous and current weights who are in
Model Town branch.
(ii) To display all names of members, previous weight, current weight, Change in weight (i.e.
how much increase from previous weight or decrease from previous weight, Decrease
will be displayed with negative sign)
(iii) To display BRANCH wise count of members in the Gym. (i.e. display the BRANCH and
number of members in each BRANCH)
(iv) To display names and date of joining of all the members who joined in the year 2018.
(v) To display Names and Current weight of all the members in descending order of Current
Weight.
(vi) To display the names and date of joining of male members who have joined after 27th
September 2018.
(vii) To display names and date of joining of members who have their names starting with
and ending with
20. Consider the table Flight given below, write command in SQL for (i) to (iv) and output for (v) to (viii)
Table : FLIGHT
Flight_No Origin Destination Seats FlightDate Rate
DEPT Table
deptno dname location
10 Accounting New York
20 Research Dallas
30 Sales Chicago
40 Operations Boston
SALGRADE Table
grade losal hisal
1 700.00 1200.00
2 1201.00 1400.00
4 2001.00 3000.00
5 3001.00 99999.00
3 1401.00 2000.00
Types of Join
Cartesian Product or Cross join
Equi Join
Natural Join
Non-Equi Join
Self Join
Left Outer Join
Right Outer Join
Cartesian Product or Cross join
The cross join makes a Cartesian product of rows from the joined tables.
108
Page
The cross join combines each row from the first table with every row from the
right table to make the result set.
If Table1 has degree d1 and cardinality c1 and table2 has degree d2 and
cardinality c2, their Cartesian Product has degree d=d1+d2 and cardinality
c=c1*c2;
Ven Diagram
Syntax:
SELECT * FROM table1, table2;
Or
SELECT * FROM table1 CROSS JOIN table2;
Or
SELECT * FROM table1 JOIN table2;
e.g. SELECT * FROM emp, dept;
SELECT * FROM emp CROSS JOIN dept;
SELECT * FROM emp JOIN DEPT;
Output:
+ + + + + + + + + + + +
| empno | ename | job | mgr | hiredate | sal | comm | deptno | deptno | dname | loc |
+ + + + + + + + + + + +
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 | 10 | ACCOUNTING | NEW YORK |
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 | 20 | RESEARCH | DALLAS |
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 | 30 | SALES | CHICAGO |
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 | 40 | OPERATIONS | BOSTON |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 | 10 | ACCOUNTING | NEW YORK |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 | 20 | RESEARCH | DALLAS |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 | 30 | SALES | CHICAGO |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 | 40 | OPERATIONS | BOSTON |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 | 10 | ACCOUNTING | NEW YORK |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 | 20 | RESEARCH | DALLAS |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 | 30 | SALES | CHICAGO |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 | 40 | OPERATIONS | BOSTON |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 | 10 | ACCOUNTING | NEW YORK |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 | 20 | RESEARCH | DALLAS |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 | 30 | SALES | CHICAGO |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 | 40 | OPERATIONS | BOSTON |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 | 10 | ACCOUNTING | NEW YORK |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 | 20 | RESEARCH | DALLAS |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 | 30 | SALES | CHICAGO |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 | 40 | OPERATIONS | BOSTON |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 | 10 | ACCOUNTING | NEW YORK |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 | 20 | RESEARCH | DALLAS |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 | 30 | SALES | CHICAGO |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 | 40 | OPERATIONS | BOSTON |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 | 10 | ACCOUNTING | NEW YORK |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 | 20 | RESEARCH | DALLAS |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 | 30 | SALES | CHICAGO |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 | 40 | OPERATIONS | BOSTON |
| 7788 | SCOTT | ANALYST | 7566 | 1982-12-09 | 3000.00 | NULL | 20 | 10 | ACCOUNTING | NEW YORK |
| 7788 | SCOTT | ANALYST | 7566 | 1982-12-09 | 3000.00 | NULL | 20 | 20 | RESEARCH | DALLAS |
| 7788 | SCOTT | ANALYST | 7566 | 1982-12-09 | 3000.00 | NULL | 20 | 30 | SALES | CHICAGO |
109
Ven Diagram
Syntax
SELECT * /Column_list
FROM Table1, Table 2
WHERE table1.column=Table2.column;
Or
SELECT * /Column_list
FROM Table1 join Table2 on Table1.Column=Table2.Column;
Example: SELECT * FROM emp JOIN dept ON emp.deptno=dept.deptno;
Or
SELECT * FROM emp,dept WHERE emp.deptno=dept.deptno;
Output:
+ + + + + + + + + + + +
| empno | ename | job | mgr | hiredate | sal | comm | deptno | deptno | dname | loc |
+ + + + + + + + + + + +
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 | 20 | RESEARCH | DALLAS |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 | 30 | SALES | CHICAGO |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 | 30 | SALES | CHICAGO |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 | 20 | RESEARCH | DALLAS |
110
YORK |
Page
| 30 | 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500.00 | 0.00 | SALES | CHICAGO |
| 20 | 7876 | ADAMS | CLERK | 7788 | 1983-01-12 | 1100.00 | NULL | RESEARCH | DALLAS |
| 30 | 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950.00 | NULL | SALES | CHICAGO |
| 20 | 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL | RESEARCH | DALLAS |
| 10 | 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300.00 | NULL | ACCOUNTING | NEW YORK
|
+ + + + + + + + + + +
Customer Table:
customer_id cust_name city grade salesman_id
3002 Nick Rimando New York 100 5001
3007 Brad Davis New York 200 5001
3005 Graham Zusi California 200 5002
3008 Julian Green London 300 5002
3004 Fabian Johnson Paris 300 5006
3009 Geoff Cameron Berlin 100 5003
3003 Jozy Altidor Moscow 200 5007
Q1. Write a SQL query to display Salesman, cust_name and city from above table where the
salesperson and customer belongs to same city.
Ans:
SELECT s.name AS "Salesman",
c.cust_name, c.city
FROM salesman s,customer c
WHERE s.city=c.city;
Or
SELECT salesman.name AS "Salesman",
customer.cust_name, customer.city
FROM salesman,customer
WHERE salesman.city=customer.city;
113
Page
Q2. write a SQL query to display ord_no, purch_amt, cust_name, city of those orders where
order amount exists between 500 and 2000.
Ans:
SELECT o.ord_no,o.purch_amt,
c.cust_name,c.city
FROM orders o,customer c
WHERE o.customer_id=c.customer_id
AND o.purch_amt BETWEEN 500 AND 2000;
Q3. Write a SQL query to display Customer Name, city, Salesman, commission the all
salesperson(s) and their respective the customer(s).
Ans:
SELECT c.cust_name AS "Customer Name",
c.city, s.name AS "Salesman", s.commission
FROM customer c, salesman s
WHERE c.salesman_id=s.salesman_id;
Interface of python
with an SQL database
Questions:
1 Marks Questions
1 To establish connection between Python and MySql Which connector is required.
(a) mysql.connection (b) connector (c) mysql.connect (d) mysql.connector
2 If you want to check whether connection between Python and MySql is established or not. Which
function is used?
(a) con.isconnected() (b) con.connected() (c) con.is_connect (d) con.is_connected
3 Fill the connection string with the required parameter name: -
con=mysql.connector.connect(<1>= localhost , user= <2>= ,
(a) <1>= host , <2> =passwd (b) <1>= host , <2> =password
(b) <1>= 127.0.0.1 , <2> =password (d) <1>= 127.0.0.1, <2> =pass
4 Which of the following component act as a container to hold all the data returned from the query and
from there we can fetch data at a time?
(a) Resultset (b) Container (c) Table (d) Cursor
5 Differentiate between fetchone() and fetchall() ?
6 Which properties of cursor is used to get number of records stored in cursor(Assuming cursor name
is dbcursor?
(a) dbcursor.count (b) dbcursor.row.count
(b) dbcursor.records (d) dbcursor.rowcount
7 Out of which of the following symbol is used for passing parameterized query fro execution to cursor?
a) { } b) % c) $ d) Both (a) and (b)
8 Which cursor function is used to fetch n number of records from cursor?
a) fetchone() b) fetch( ) c) fetchmany() d) fetchall()
9 Which cursor function is used to fetch one record at a time from cursor?
a) fetchone() b) Onefetch() c) fetch() d) fetchonce()
10 Which cursor function is used to send query to connection?
(a) query() (b) execute() (c) run() (d) send()
2 Marks Questions
1 Consider the following table EMP containing information about an employee: -
EMPNO ENAME DEPT SALARY
1 ALEX MUSIC 60000
2 PETER ART 67000
3 JHONY WE 55000
4 RAMBO P&HE 48000
Following python code is written to access the records of the table. EMP. What will be the output of
the following code:
mycursor.execute(query)
result1= mycursor.fetchone()
result1= mycursor.fetchone()
result1= mycursor.fetchone()
d= int(result1[3])
print(d*3)
(a) P&HEP&HEP&HE (b) 144000
(b) WEWEWE (d) 165000
2 Consider the following Python code written to access the record of CODE passes to
function.Complete the missing statements:
def Search(eno):
#Assume that all the basic setup import, connection and cursor is already created
* from emp where emp where empno =
mycursor .execute(query)
result = mycursor.
print(results)
(a) { } and fetchone() (b) fetchone() and {}
(b) %s and fetchone() (d) %eno and fetchone()
3 Consider the following Python code written for updating the records:
def Update(eno):
#Assume basic setup import, connection(con) and cursor(mycursor) is created
query set salary = 90000 where empno
mycursor.execute(query)
Code is running but the record in actual database is not updating, what could be the possible reason?
(a) save() function is missing (b) con.save() function is missing
(b) con.commit() function is missing (d) commit() is missing
4 Consider the following python code to display all records from table: EMP
def ShowAll()
#Assume basic setup import, connection(con) and cursor(mycursor) is created
* from
mycursor .execute(query)
result = mycursor. fetchall()
for results in row:
print(results)
But query is giving error, what could be the possible reason?
(a) fetchmany() should be used in place of fetchall()
(b) fetchone() should be used in place of fetchone()
(c) print(row) should be used in place of print(results)
(d) loop and print function is wrong, for row in results: snd print(row) should be used.
5 Differentiate between fetchone() and fetchmany() /
6 What is the role of a cursor? Write syntax to create a cursor?
7 To perform query sting based on some parameter. There are two method. Write the given query in (i)
String Templates with % formatting and (ii) String Template with { } formatting
all fields from table student where marks
117
Page
4 Marks Questions
1 What is resultset? Write code to execute the query * from and store the retrieved
record in the cursor object after creating cursor.
2 Explain the purpose of the following lines in the given code:-
import mysql.connection as con
mycon = ,
mycursor=mycon.cursor() ------------ 1
* from ------------ 2
mydata = mycursor.fetchall() ------------ 3
nrec = mycursor.rowcount() ------------- 4
records fetched till
3 What will be the generated query string of the following code, also write statement to execute Query
and save the changes:-
import mysql.connection as con
mycon = ,
mycursor = mycon.cursor()
Query = INTO books (title, isbn, author, price) VALUES (%s, %s, %s,
5 Marks Questions
1 Consider the following python and MySql connectivity code and answer the following questions:
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="12345",database= "student")
if mydb.is_connected()==True:
print("connection ok")
else:
print("error connecting to mysql database")
mycursor=mydb.cursor()
r=int(input("enter the rollno"))
n=input("enter name")
m=int(input("enter marks"))
mycursor.execute("INSERT INTO student(rollno,name,marks) VALUES({},'{}',{})".format(r,n,m))
mydb.commit()
print(mycursor.rowcount,"RECRD INSERTED")
(i) Which of the following statement is connecting database server?
(ii) What is the role of the statement
(iii) Which statement will add record to the table?
(iv) What is the purpose of the in the following print statement.
print(mycursor.rowcount,"RECRD INSERTED")
(v) What is the purpose of ?
2 What are the various methods for fetching record from the table? Explain the purpsose of different
fetch function available in Mysql and fill in the blanks given 1 and 2.
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="12345",database="student")
if mydb.is_connected()==True:
print("connection ok")
else:
print("error connecting to mysql database")
1
mycursor.execute("SELECT * FROM STUDENT")
2
118
mycursor.execute(Query)
mycon.commit()
5 Marks Questions
1 (i) mysql.connector.connect
(ii) Creates an instance of a cursor
(iii) mycursor.execute(Sql Query)
(iv) To count and display the number of record effected by the query.
(v) Confirms the changes made by the user to the database.
2 (i) fetchone() ->This method retrieves the next row of a query resultset and returns a single sequence
or None if no more rows are available. By default it returns tuple.
(ii) fetchmany() -> This method fetches the next set of rows of a query resultset and returns a list of
tuples. If no more rows are available it returns an empty list.
(iii) fetchall() -> This method will return all the rows from the resultset in the form of a tuple
containing the records.
(iv) Fill in the blanks 1 ---- mycursor=mydb.cursor()
(v) Fill in the blanks 2 ----- rs=mycursor.fetchall()
3 (i) mycursor.execute("CREATE DATABASE SCHOOL")
(ii) mycursor.execute("SHOW DATABASE")
(iii) mycursor.execute("CREATE TABLE FEES (ROLLNO INTEGER(3),NAME VARCHAR(20),
AMOUNT INTEGER(10));")
(iv) mycursor.execute("SHOW TABLES")
(v) Write statement to display the structure of the table.
120
Page