XI Computer Science
XI Computer Science
Class 11
Unit II: Computational Thinking and Programming – 1
Introduction to problem solving:
Problem solving is the process in which we identify a problem, developing an algorithm
for the identified problem and finally implementing the algorithm to develop a
computer program.
Steps for problem solving –
Problem solving starts with the identification of the problem and ends with a complete
solution in terms of a program or software. Key steps required for solving a problem
using a computer are-
i. Analysing the problem- we need to read and analyse the problem statement to solve
the problem and decide the core functionalities that our solution should have.
ii. Developing an Algorithm -It is essential to device a solution before writing a
program code for a given problem. Algorithm is a set of exact steps which when
followed ,solve the problem or accomplish the required task. For a given problem, more
than one algorithm is possible and we have to select the most suitable solution.
iii. Coding- convert the algorithm into the format which can be understood by the
computer to generate the desired solution. Different high level programming languages
can be used for writing a program.
iv. Testing and Debugging- The program created should be tested on various
parameters. The program should meet the requirements of the user. It must respond
within the expected time. It should generate correct output for all possible inputs.
Program should be checked for errors, if any.
Algorithm -A sequence of steps to accomplish the task. Such a finite sequence of steps
required to get the desired output is called an algorithm. It will lead to the desired result
in a finite amount of time, if followed correctly. Algorithm has a definite beginning and a
definite end, and consists of a finite number of steps.
Characteristics of a good algorithm are-
• Precision — the steps are precisely stated or defined.
• Uniqueness - results of each step are uniquely defined and only depend on the input
and the result of the preceding steps.
• Finiteness — the algorithm always stops after a finite number of steps.
• Input — the algorithm receives some input.
• Output — the algorithm produces some output.
Flowchart -A flowchart is a pictorial representation of an algorithm. We use boxes,
diamonds and other shapes, connected by arrows in flow chart.
Pseudocode-A pseudocode is a way of representing an algorithm. It is considered as a
non-formal language that helps programmers to write algorithm. It is intended for
human reading and cannot be executed directly by the computer. No specific standard
for writing a pseudocode exists. By writing the pseudocode the programmer safeguards
against leaving out any important step. Besides, for non-programmers, actual programs
are difficult to read and understand, but pseudocode helps them to review the steps to
confirm that the proposed implementation is going to achieve the desire output.
34
Basics of Python programming:
Introduction to Python -Python is a general-purpose Object Oriented Programming
language, High-level language Developed in late 1980 by Guido van Rossum at National
Research Institute for Mathematics and Computer Science in the Netherlands. It is an
Open Source Scripting language and is Case-sensitive language .
Features of Python
• Python is a high level language. It is a free and open source language.
• It is an interpreted language, as Python programs are executed by an interpreter.
• Python programs are easy to understand as they have a clearly defined syntax and
relatively simple structure.
• Python is case-sensitive. For example, NUMBER and number are not same in Python.
• Python is portable and platform independent, means it can run on various operating
systems and hardware platforms.
• Python has a rich library of predefined functions.
• Python is also helpful in web development. Many popular web services and
applications are built using Python.
• Python uses indentation for blocks and nested blocks
There are two ways to use the Python interpreter:
a) Interactive mode b) Script mode
36
% Modulus Divides the operand on >>>a=10
the left with the >>>b=3
operand on the right >>>a%b
and returns the 1
remainder
// Floor Division Floor division. To >>>a=10
find the integer part >>>b=6
of the quotient when >>>a/b
one number is 1
divided by the other.
The result is always
the largest integer
less than or equal to
the actual quotient.
** Exponent To raise a number to >>>a=2
the power of another >>>b=3
number. >>>a**
b
8
Relational Operator
Operator Operation Description Example
== Equals to Compares two values. If both are equal >>>x=5
returns true else returns False >>>y=4
>>>z=4
>>>x==y
False
>>>y==z
True
!= Not Equals to Compares two values. If both are not >>>x!=y
equal returns true else returns False True
>>>y!=z
False
> Greater Than If the value of the left operand is greater >>>y>x
than operand on the rightside of False
operator then returns true else return >>>x>z
False True
< Less than If the value of the left operand is smaller >>>y<z
than operand on the rightside of True
operator then returns True >>>x<y
else return False False
>= Greater than or If the value of the left operand is greater >>>z>= y
equal to than or equal to operand on the right True
side of operator then >>> y>= x
returns True else return False False
<= Less than or If the value of the left operand is smaller >>>x<= y
equal to than operand on the rightside of False
operator then returns true else return >>>z <= x
False True
37
Logical operators
Operators Description Example
And Combines two conditions and returnsTrue if >>>a=6
both conditions are True else returns False >>>b=5
>>>a==6 and b==5
True
>>>a1==10 and b==5
False
Or Combines two conditions and returns True if any >>>a==6 or b==0
condition is True else returnsFalse True
>>>a==0 or b==4
False
Not Negates a condition and returns True if the >>>not (a==0)
condition is False, otherwise returns False. True
>>>not (b==5)
False
Assignment Operator
Operator Description Example (x=2,
y=5)
= Assigns value from right side operand to left side >>>z=x+y
operand >>>z
7
+= It adds the value of right-side operand to the >>>x+=2
left-side operand and assigns the result to the
>>>x
left-side operand
4
38
**= It performs exponential (power) calculation on >>>x**=3
operators and assigns value to the left-side
>>>x
operand 8
Identity operator
Operator Description Example
Is Evaluates True if the variables on either side >>> num1 = 5
of the operator point towards the same >>> type(num1) is int
memory location and False otherwise. var1 True
is var2 results to True if id(var1) is equal to >>> num2 = num1
id(var2) >>> id(num1)
1433920576
>>> id(num2)
1433920576
>>> num1 is num2
True
is not Evaluates to False if the variables on either >>> num1 is not num2
side of the operator point to the same False
memory location and True otherwise. var1
is not var2 results to True if id(var1) is not
equal to id(var2)
6. Membership Operator
Operators Description Example
In It return True in case value exists in >>>N=[5,7,1]
sequence, otherwise false. >>>1 in N
True
>>> 4 in N
False
not in return True if value does not exists in the >>>N=[4,8,7]
sequence, else false. >>>4 not in L
False
>>> 0 not in L
True
Precedence of Operators:
The order in which the operators are executed in an expression is called the operator
precedence. Operator precedence of some common operators are given below:
39
Comments- Comments are used to add a remark or a note in the source code. they
are not executed by interpreter. They are added with the purpose of making the source
code easier for humans to understand. In Python, a comment starts with # (hash sign).
Everything following the # till the end of that line is treated as a comment.
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 type in Python can be categorized as
follows:
1. Number: Number data type stores numerical values. A feature Python is that there
is no need to declare a numeric value to define its type. Python can easily
differentiate one data typefrom another when you write and run your statement.
(a) int(integer): Integer represents whole numbers without any fractional part. They
can be positive or negative and have unlimited size in Python. Example: -6, 468, 0, 4, -
43.
(b) float(floating point number): Floating point numbers denote real numbers or
floating point values (i.e., numbers with fractional part). Example: 3.14, 565.34, 0.76, 4.0
(c)Complex Numbers: Complex numbers in Python are made up of pairs of real and
imaginary numbers. They take the form ‘x + yj’ or ‘x + yJ’ Example:
a = complex(50) # convert 50 to a real part val and zero imaginary part
b=complex(87,54) #convert 87 with real part and 54 as imaginary part
print(b)
Output :-
(5+0j)
(101+23j)
2. str(string):A string is a sequence of characters that can be a combination of letters,
numbers and special symbols, enclosed within quotation marks, single, double, or
triple (‘ ‘ or “ “ or ‘‘‘’’’). These quotes are not part of the string.
3. Boolean: Boolean data type represents one of the two possible values, True or False.
Any expressionwhich can be True or False has the data type bool.
4. None: This is a special data type with a single value. It is used to signify the absence
of value/condition evaluating to False in a situation. It is represented by None.
5. List: A list is a collection of values or an ordered sequence of values/items. The
items in a listcan be of any type such as string, integers, float, objects or even a list.
Elements of a list are enclosed in square brackets [ ], separated by commas.
Example: >>> A = [6,8,2,9,100]
>>>print( A )
[6,8,2,9,100]
6.Tuple: Tuple is another sequence data type similar to the list. A tuple consists of a
number of values separated by commas. Unlike lists however, tuples are enclosed
within parentheses. Elements in a tuple need not be of the same type, they can be
heterogeneous.
Example: >>> T = ( 80,40,25, 30, 50 )
>>>print( L )
( 80,40,25, 30, 50)
40
7.Dictionary: -Python-dictionary is an unordered collection of items where each item
is a key-value pair. We can also refer to a dictionary as a mapping between a set of keys
and set of values. The items of a dictionary are enclosed within curly braces and items
are separated by commas.The key value pairs are separated by colon (:).
Example: Dict = { “Hindi” : 96, “English” : 88, “Maths” : 91 }
Statement- In Python, a statement is a unit of code that the Python interpreter can
execute. For example
a=50
x=sum(4,5)
input/output - input() function is used for taking the user input. The input()
function prompts the user to enter data. It accepts all user input as string.
name = input("Enter your name: ")
print() function is used to output data to the screen. It evaluates the expression before
displaying it on the screen. The print() outputs a complete line and then moves to the
next line for subsequent output. The syntax for print() is:
print(value [, ..., sep = ' ', end = '\n'])
print( "Bikaner")
Type Conversion: It is the process of converting the value of one data type to
another.
41
Debugging- The process of identifying and removing errors or mistakes from a
program is called debugging and the mistakes known as errors. Errors can be
categorized as:
i) Syntax errors
ii) Logical errors
iii) Runtime errors
1. Syntax Error:
If a statement is not written as per syntax/ rules of python, syntax errors are there and
interpreter shows error message(s) and stops the execution there. Example 1:
print(“India) #syntax error as right double quote is missing
Example 2: Print(“Hello”) #syntax error due to P is capital
2. Logical Error:
Logical errors are the most difficult to find and fix. These types of error is caused due to
wrong logic. No syntax error /error message will be there.
Example:
x=5
y = 10
m=x+y
print (“Multiplication of x and y = “, m) # results wrong as used + instead of *
3.Runtime Error:
A runtime error causes abnormal termination of program while it is executing. In this
error statement is correct syntactically, but the interpreter cannot execute it. Runtime
errors do not appear until after the program starts running or executing. For example, a
statement having division operation in program, if denominator value is zero then it
will give a runtime error “division by zero”.
42
Flow of Control
The order of execution of the statements in a program is known as flow of control.
Control statements are used to control the flow of execution depending upon the
specified condition/logic. There are three types of control /flow statements-
1. Sequential flow
2. Conditional Flow
3. Iterative flow
Sequential flow- It is the concept, where Python executes one statement after another
from beginning to the end of the program.
Conditional / Decision making statement-Decision making statement used to control
the flow of execution of program depending upon condition. Following conditional
statements available in python -
• if statement
• if-else statement
• if-elif- else statement
• Nested if statement
if statement-In this it checks the condition and execute the statement if the condition is
true and do nothing if the condition is false.
Syntax:
if condition:
Statements
Example-
x=1
if(x==1 ):
print(“x is one”)
if-else statement-if with else is used to test the condition and if the condition is True it
perform /execute true block otherwise false block.
Syntax:
if condition:
Statements #True Block
else:
Statements # False block
Example-
num = int(input("Enter a number= "))
if (num%2==0):
print("even number ")
else:
print("odd number")
if-elif- else statement-In this variant of if multiple chain of condition is to be checked.
Each elif must be followed by condition: and then statement for it. After every elif we
can give else which will be executed if all the condition evaluates to false
Syntax:
if condition:
Statements
elif condition:
Statements
elif condition:
Statements
else:
Statement
43
Nested if statement- In nested type of “if” we use if within another if as a statement of
it. Mostly used in a situation where we want different else for each condition. Syntax:
if condition1:
if condition2:
statements
else:
statements
elif condition3:
statements
else:
statements
Example:
num = float (input ("Enter a number: "))
if num>= 0:
if num == 0:
print("Zero")
else:
print("Positive number")
else:
print("Negative number")
for loop- This loop is used to iterate over a range of values or a sequence. The for loop
is executed for each of the items in the range. These values can be either numeric, or,
they can be elements of a data type like a string, list, or tuple.
Syntax:
for val in sequence:
statements #body of loop
Example-1
city=["Bikaner","Jodhpur,"Jaipur","Sikar"]
for i in city:
print(i)
Usage of Range()-
It is used to create a list containing a sequence of integers from the given start value up
to stop value (excluding stop value), with a difference of the given step value. The range
() is a built-in function in Python. Syntax of range () function is:
range([start], stop[, step])
Example-2
x=1
while (x < 3):
print('inside while loop value of x is ',x)
x=x+1
else:
print('inside else value of x is ', x)
Jump Statements- These statements are used to transfer the program's flow from one
location to another. There are two types of jump statements -.
1. break
2. continue
Break- The break statement terminates the current loop and resumes execution of the
statement following that loop.
Example-
for I in range(1,100):
if i == 10:
break
print(i) # the code will print only 1 to 9
Continue- The continue statement skips the current execution of loop and jump for
next execution of the loop.
Example-
for I in range(1,100):
if i == 10:
continue
print(i) # the code will print 1 to 99 without 10
pass -This statement does nothing but can be used if no action in a statement.
for i in range (1,100):
if(i >=50):
pass
else:
print(i)
45
==================================================================
Exercises
(MCQ type Question 1 Marks)
1. Who developed Python Programming Language?
a) Wick van Rossum b) Rasmus Lerdorf
c) Guido van Rossum d) Niene Stom
Answer: c
2. Which of the following is the correct extension of the Python file?
a) .python b) .pys
c) .py d) .p
Answer: c
3 What will be the value of the following Python expression?
1 + 10 % 4
a) 3 b) 2
c) 11 d) 1
Answer: a
4. Which of the following character is used to give single-line comments in Python?
a) @ b) #
c) ! d) /*
Answer: b
5. Which one of the following is not a keyword in Python language?
a) for b) evals
c) while d) false
Answer: d
6. What will be the output of the following Python program?
i=1
while i < 5:
i += 1
print(i)
a) 5 b) 0
c) 1 d) none of the mentioned
Answer:a
7. run tyme error in a code means:
(a)You have not used correct logic.
(b) There was error while running the program.
(c) There is an error with your typing and code structure
(d) None of above.
Answer: b
8. Which of the following is not a core data type in Python programming?
a) Tuples b) Lists
c) Class d) Dictionary
Answer: c
9. What will be the output of the following Python code?
x = 'abcd'
for i in x:
print(i.upper())
a) a B C D b) a b c d
c) error d) A B C D
Answer: d
10.What will be the output of the following Python statement?
>>>"a"+"bc"
a) bc b) abc
c) a d) bca
Answer: b
46
(VSA type Question 2 Marks)
1. What are data types? How are they 2. What are immutable and mutable
important? types? List immutable and mutable
Answer = representation of many types types of python.
of data in by provided facilities is called Answer = immutable type :- those
data type . types whose value never change is
Example = integer, string , list etc. known as immutable type.
They are play very important role in Example = integer , string , Boolean,
programming because without any tuples , e.c.t
data of program , program can cause Mutable type: - those type whose value
error , so program needed data can be change is known as mutable
type.Example = list, dictionary, set
3. What are tokens in Python? How 4. What will the result given by the
many types of tokens are allowed in following ?
python? Exemplify your answer. (a)type(6+3)
Answer =Token are smallest individual (b)type(6-3)
unit in a program. (c)type(6*3)
Type of tokens (d)type(6/3)
keywords : False, True, for, while (e)type(6//3)
identifiers : a, A, lst, dic (f)type(6%3)
literal : “python”, 5, 9, ‘class11’ Answer =
operator : +, -, /, *, **, %, // (a)int (b)int (c)int
punctuators :&, ^, ?, #, @, ! (d)float (e)int (f)int
5. What are variables? How are they 6. In Python, strings are immutable
important for a program? while lists are mutable. What is the
Answer =Variable is a label that can difference?
used in process of program. it can Answer =(i) In consecutive locations,
contain numeric values, character, strings store the individual characters
string is called variable. while list stores the references of its
Variable play very important role in elements
programming because they enable (ii) Strings store single type of
programmers to write flexible elements - all characters while lists can
programs. without variable we can not sore elements belonging to different
enter the data directly in the program. types.
47
(Short answer type Question 2 Marks)
Q-1 Rewrite the following code Q-2 Find the output of the following code
fragments using for loop: segments:
i = 10 x = 40
while (i > 0) : y=x+1
print (i) x = 20, y + x
i -= 3 print (x, y)
Answer = Answer =
for i in range (10,0,-3): Output:
print (i) (20, 81) 41
Q-3 What will be the output Q-4 What will be the output produced by
produced by following code following code?
fragment (s)? (a)
X = 10 >>> str(print()) + "One"
X = X + 10 (b)
X=X-5 >>> str(print("hello")) + "One"
print (X) Answer =
X, Y = X- 2, 22 (a)
print (X, Y) 'NoneOne'
answer= (b)
5 hello
13 22 'NoneOne'
Q-5 Rewrite the following code Q-6 Find the output of the following code
fragment that saves on the number segments:
of comparisons: var = 7
if (a == 0) : while var > 0:
print ("Zero") print ('Current variable value: ', var)
if (a == 1) : var = var -1
print("One") if var == 3:
if (a == 2) : break
print ("Two") else:
if (a == 3) : if var == 6:
print ("Three") var = var -1
Answer = continue
if (a == 0) : print ("Good bye!")
print ("Zero") Answer :-
elif (a == 1) : Current variable value: 7
print("One") Current variable value: 5
elif (a == 2) : Good bye!
print ("Two") Current variable value: 4
elif (a == 3) :
print ("Three")
Q-7 How is break statement different Q-8 Find out the error(s) in following code
from continue? fragments:
Answer = a, b, c = 2, 8, 9
Break :- A break statement skips the print (a, b, c)
rest of the loop and jumps over to thec, b, a = a, b, c
statement following the loop. print (a; b; c)
answer=
Continue :- The continue statement a, b, c = 2, 8, 9
skips the rest of the loop statements print (a, b, c)
48
and causes the next iteration of the c, b, a = a, b, c
loop to take place. print (a, b, c)
Q-9 What is the purpose of range() Q-10 Write Pseudo code to calculate area of
function? Give one example. circle.
Answer :-It is used to create a list Answer:-
containing a sequence of integers t = input "Enter Radius of circle "
from the given start value up to stop Area = pi * r * r
value (excluding stop value), with a Display Area
difference of the given step value.
Example :-
for i in range(100) :
It will run from 0 to 99.
Q-11Find the output of the following Q-12 Find the output of the following code
code segments: segments:
a = 110 i = 0; sum = 0
while a > 100: while i < 9:
print(a) if i % 4 == 0:
a -= 2 sum = sum + i
Answer :- i=i+2
110 print (sum)
108 Answer :-
106 0
104 0
102 4
4
12
Q-13 Find the output of the following Q-14 Find the output of the following code
code segments: segments:
country = 'INDIA' for i in range(20,30,2):
for i in country: print(i)
print (i)
Answer :-
Answer :- 20
I 22
N 24
D 26
I 28
A
Q-15 Find the output of the following Q-16 What will be output produced by
code segments: following code? State reason.
for x in range(1,4): a=5-4-3
for y in range(2,5): b = 3 ** 2 ** 3
if x * y > 10: print(a)
break print(b)
print (x * y) Answer =
Answer :- Line 1:
2 a = -2
3 Line 2:
4 b = 3 ** 2 ** 3
4 = 3 ** 8
6 So for:
8 b = 6561
6
49
9
Q-17 Draw flow chart to calculate Q-18 Write algorithm to calculate simple
simple interest. interest.
Answer :-
1. Start
2. Input principal
3. Input rate
4. Input time
5. Simple interest principal * rate * time
6. Print simple interest
7. Stop
50
STRING IN PYTHON
Basics of String:
• Strings are immutable means that the contents of the string cannot be changed
after it is created. At the same memory address, the new value cannot be stored.
Python does not allow the programmer to change a character in a string.
Example:
>>>str='jaipur'
>>>str[0]='J'
TypeError: 'str' object does not support item assignment
As shown in the above ex
ample, str has the value “jaipur”. An attempt to replace ‘j’ in the string by
‟J‟ displays a TypeError.
• Each character has its index or can be accessed using its index.
• String in python has two-way index for each location. (0, 1, 2, ……. In the forward
direction and -1, -2, -3, …….. in the backward direction.)
Example:
0 1 2 3 4 5 6
T E A C H E R
-7 -6 -5 -4 -3 -2 -1
• The index of string in forward direction starts from 0 and in backward direction
starts from -1.
• The size of string is total number of characters present in the string. (If there are
n characters in the string, then last index in forward direction would be n-1 and
last index in backward direction would be –n.)
• String are stored each character in contiguous location.
• The character assignment is not supported in string because strings are
immutable.
Example:
>>>s=”TEACHER”
>>>s[1]
‘E’ # returns index 1 position
>>>s[-4]
‘C’ #returns index -4 position
51
s=”TEACHER” s=”TEACHER”
for ch in s : for i in range(len(s)):
print(ch) print(s[i])
String Operators:
A). String concatenation Operator: Concatenation means to join two values. In
Python, + symbol is used to concatenate the strings.
>>>name="Jay"
>>>msg="Hello "
>>>print(msg+name)
'Hello Jay' #concatenated string
Note: You cannot concate numbers and strings as operands with + operator.
Example:
>>>7+’4’ # unsupported operand type(s) for +: 'int' and 'str'
It is invalid and generates an error.
B). String repetition Operator: It is also known as String replication operator.
Replication can be performed by using * operator between the string. It will repeat the
string n times, where n is the integer providedple:
>>>s="Ha"
>>> s*3
'HaHaHa' #Replication
Note:You cannot have strings as n=both the operands with * operator.
Example:
>>>”Ha” * “Ha” # can't multiply sequence by non-int of type 'str'
It is invalid and generates an error.
C). Membership Operators: In and not in are two membership operators to find the
appearance of a substring inside the string.in – Returns True if a character or a substring
exists in the given string; otherwise, False
not in - Returns True if a character or a substring does not exist in the given string;
otherwise, False
Example: >>> "T" in "TEACHER"
True
>>> "ea" in "TEACHER "
False
>>>"CH" not in "TEACHER "
False
D). Comparison Operators: These operators compare two strings character by
character according to their ASCII value. ASCII Values can be finding out by given
functions.
Characters ASCII (Ordinal) Value
‘0’ to ‘9’ 48 to 57
‘A’ to ‘Z’ 65 to 90
‘a’ to ‘z’ 97 to 122
Function Description
ord(<character>) Returns ordinal value of a
character
chr(<value>) Returns the corresponding
character
52
Example:
>>> 'abc'>'abcD'
False
>>> 'ABC'<'abc'
True
>>> 'abcd'>'aBcD'
True
>>> 'aBcD'<='abCd'
True
>>> ord('b')
98
>>> chr(65)
'A'
Slicing in Strings: Extracting a subpart from a main string is called slicing .It is done
by using a range of indices.
Syntax:
>>>string-name[start:stop:step]
Note: it will return a string from the index start to stop-1.
Example:
>>> s="TEACHER"
0 1 2 3 4 5 6
T E A C H E R
-7 -6 -5 -4 -3 -2 -1
>>> s[2:6:1]
'ACHE'
>>> s[6:1:-1]
'REHCA'
>>> s[0:10:2]
'TAHR'
>>> s[-8:-3:1]
'TEAC
>>> s[ : 6 : 1] # Missing index at start is considered as 0.
'TEACHE'
>>> s[2 : :2] # Missing index at stop is considered as last index.
'AHR'
>>> s[3:6: ] # Missing index at step is considered as 1.
'CHE'
>>> s[ : :-1]
'REHCAET'
>>> s[2: :]+s[ :2 :]
'ACHERTE'
>>> s[1: 5:-1]
‘‘
53
S. Function Description Example
No.
1 len( ) Returns the length of a string >>>print(len(str))
14
2 capitalize( ) Returns the copy of the string with its >>> s1.capitalize()
first character capitalized and the rest 'Hello365'
of the letters are in lowercased.
3 find(sub,start,en Returns the index of the first >>>s2.find("thon",1,7)
d) occurence of a substring in the given 3
string (case-sensitive). If the >>> str.find("ruct",8,13)
substring is not found it returns -1. -1
4 isalnum( ) Returns True if all characters in the >>>s1.isalnum( )
string are alphanumeric (either True
alphabets or numbers). If not, it >>>s2.isalnum( )
returns False. True
>>>s3.isalnum( )
True
>>>s4.isalnum( )
False
>>>s5.isalnum( )
False
5 isalpha( ) Returns True if all characters in the >>>s1.isalpha( )
string arealphabetic. False otherwise. False
>>>s2.isalpha( )
True
>>>s3.isalpha( )
False
>>>s4.isalpha( )
False
>>>s5.isalpha( )
False
6 isdigit( ) Returns True if all the characters in >>>s1.isdigit( )
the string aredigits. False otherwise. False
>>>s2.isdigit( )
False
>>>s3.isdigit( )
True
>>>s4.isdigit( )
False
>>>s5.isdigit( )
False
7 islower( ) Returns True if all the characters in >>> s1.islower()
the string arelowercase. False True
otherwise. >>> s2.islower()
True
>>> s3.islower()
False
>>> s4.islower()
False
>>> s5.islower()
True
54
8 isupper( ) Returns True if all the characters in
>>> s1.isupper()
the string areuppercase. False False
otherwise. >>> s2.isupper()
False
>>> s3.isupper()
False
>>> s4.isupper()
False
>>> s5.isupper()
False
9 isspace( ) Returns True if there are only whitespace
>>> " ".isspace()
characters in the string. False
True
>>> "".isspace()
False
10 lower( ) Converts a string in lowercase >>> "HeLlo".lower()
characters. 'hello'
11 upper( ) Converts a string in uppercase >>> "hello".upper()
characters. 'HELLO'
12 lstrip( ) Returns a string after removing >>> str="data structure"
the leading characters. (Left side). >>> str.lstrip('dat')
if used without any argument, it ' structure'
removes theleading whitespaces. >>> str.lstrip('data')'
structure'
>>> str.lstrip('at')
'data structure'
>>> str.lstrip('adt')
' structure'
>>> str.lstrip('tad')
' structure'
13 rstrip( ) Returns a string after removing the >>> str.rstrip('eur')
trailingcharacters. (Right side). 'data struct'
if used without any argument, it >>> str.rstrip('rut')
removes thetrailing whitespaces. 'data structure'
>>> str.rstrip('tucers')'data
'
14 split( ) Splits the string from the specified >>> str="Data Structure"
separator and returns a list object >>> str.split( )
with string elements. ['Data', 'Structure']
1 Mark Questions
Q.No Question Answer
1. print the string “India” 10 times. >>>”india”*10
2. What is the output of the following code False
>>>‘a’ in “computer”
3. What is the output of the following code ‘cmue’
Strg=”computer”
print(Strg[ 0: 8 : 2]
4. What is the output of the following? “India”
print('INDIA'.capitalize())
5. Which of the following is not valid string (iii) “Hello’
in Python?
55
(i) “Hello” (ii) ‘Hello’
(iii) “Hello’ (iv) None of the above
6. Suppose word = ‘amazing’, the what will ‘giaa’
be word[: : -2]?
2 Mark Questions
Sr. Question Answer
1. If you give the following for str1=”Hello” String is immutable data type.So it
why does python report error str1[2]=’p’ does not support item assignment
2. Identify the output of the following Vidya
Python statements.
x="Vidyalaya"
y="Vidya"
if(y in x):
print(y)
3. Look at the code sequence and select the kvsrojAIPUR
correct output
str="KVS RO Jaipur"
for i in str:
if(i.isupper()==True):
print(i.lower(),end="")
if(i.islower()==True):
print(i.upper(), end="")
4. Find the correct output of the following -1
>>>str="The planet earth looks like a
blue marble from outer space"
>>>print(str.find('marble',50))
5. Find the value stored in ctr at the end of 12
this code snippet:
mystr="Darjeeling Tea has a strong
flavour"
ctr=0
for i in mystr:
if i in 'aeiouAEIOU':
ctr += 1
print(ctr)
3 Mark Questions
Sr. Question Answer
1. Write a Python program to input a line of line=input ("Enter a line of text :")
text and a character from user to print ch=input ("Enter a character to
the frequency of the character in the line. search ")
For example k=line.count(ch)
Line entered is : this is a golden pen print ("Frequency is :",k)
The character to search : e
Then output is : Frequency is 2
2. Write a Python Program to input a string s=input("Enter a word :")
to check whether it is a Palindrome string print ("You entered :", s)
or not. (A Palindrome string is that which length=len(s)
is same from both ends like – NITIN, rev=""
MALAYALAM, PULLUP) for i in range (-1,-length-1,-1):
rev=rev+s[i]
if s==rev:
print ("Yes, palindrome")
56
else:
print ("Not a palindrome")
3. Using string replication techniques print for a in range(1,4):
the following pattern using any loop. print("hello " * a)
Hello
Hello Hello
Hello Hello Hello
4 Mark Questions
Sr. Question Answer
1. Find Output: Jhu
my_string = 'Jhunjhunu' J@H@U@N@J@H@U@N@U@
print(my_string[:3]) Jhunjhunu
for i in range(len(my_string)): Njh
print(my_string[i].upper(),end="@")
print()
print (my_string)
print (my_string[3:6])
2. Consider the following string mySubject: Computer Science
mySubject = "Computer Science" Scienc
What will be the output of the following Cmue cec
string operations : e
print(mySubject[0:len(mySubject)]) Computer ScienceComputer Science
print(mySubject[-7:-1]) eniSrtpo
print(mySubject[::2])
print(mySubject[len(mySubject)-1])
print(2*mySubject)
print(mySubject[::-2])
3. Consider the following string country: a)Great India
country= "Great India" b)t Indi
What will be the output of the following c)GetIda
string operations(Any Four):- d)a
a) print(country[0:len(country)]) e)Great IndiaGreat India
b) print(country[-7:-1]) f)Great India
c) print(country[::2])
d) print(country[len(country)-1])
e) print(2*country)
f) print(country[:3] + country[3:])
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
57
Lists in Python
List is a standard data type of Python. It is a sequence which can store values of any
kind. In Python, list and dictionary are mutable data types.
•Like string, list also has 2 index, one for forward indexing (from 0, 1, 2, 3, ….to n-1) and
one for backward indexing(from -n to -1).
0 1 2 3 4 5 6 7 8 9 Forward
Indexing
10 20 30 40 50 60 70 80 90 100
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 Backward
Indexing
>>>L[2] Shows : 30
>>>L[-1] Shows : Last element of list i.e. 100.
Traversal of a list :Traversal of a list means to access and process each and every
element of that list. Traversal of a list is very simple with for loop –
L=[10,20,30,40,50,60,70,80,90,100]
for i in L :
print(i)
10
20
30
40
50
60
.
.
Operators in List :
A).Concatenation (+ Operator): Python allows us to join two or more lists using
58
Concatenation operator depicted by the symbol +.
Example :
>>> list1 = [1,3,5,7,9]
>>> list2 = [2,4,6,8,10]
>>>list1+list2 # + operator
[1,3,5,7,9,2,4,6,8,10]
The not in operator returns True if the element is not present in the list, else it returns
False. Example:
Slicing : Like strings, the slicing operation can also be applied to lists. List elements
can be accessed in subparts.
>>>list_name[start:stop:step]
Examples:
l=[10,20,30,40,50,60,70,80,90,100]
>>> l[2:6:1]
[30, 40, 50, 60]
>>> l[0:20:2]
[10, 30, 50, 70, 90]
>>> l[-8:-1:1]
[30, 40, 50, 60, 70, 80, 90]
>>> l[ : 6:1]
[10, 20, 30, 40, 50, 60]
>>> l[2 : : 2]
[30, 50, 70, 90]
>>> l[ : : -1]
[100, 90, 80, 70, 60, 50, 40, 30, 20, 10]
>>> l[1:6:-1]
[]
>>> l[ : : 2]
[10, 30, 50, 70, 90]
59
List Methods and Built-in Functions :- Python provides some built-in
functions for list manipulation .
>>>List_name.functionname()
Ex : l=[10,20,30,40,50,60,70,80,90,100]
60
List.clear ( ) It will delete all values of list and >>> list1 = [10,20,30,40,50,30]
gives an empty list. >>> list1.clear()
>>> list1
[]
List.count (<item>) It will count and return number >>> list1 = [10,20,30,10,40,10]
of occurrences of the passed >>> list1.count(10)
element. 3
>>> list1.count(90)
0
List.reverse ( ) It will reverse the list and it does >>> list1 = [34,66,12,89,28,99]
not create a new list. >>> list1.reverse()
>>> list1
[ 99, 28, 89, 12, 66, 34]
List.sort ( ) It will sort the list in ascending >>>list1 =
order. To sort the list in ['Tiger','Zebra','Lion',
descending order, we need to 'Cat', 'Elephant' ,'Dog']
write----- list.sort(reverse >>> list1.sort()
=True). >>> list1
['Cat', 'Dog', 'Elephant', 'Lion',
'Tiger', 'Zebra']
>>> list1 = [34,66,12,89,28,99]
>>> list1.sort(reverse = True)
>>> list1
[99,89,66,34,28,12]
List.sorted() It takes a list as parameter and >>> list1 = [23,45,11,67,85,56]
creates a >>> list2 = sorted(list1)
new list consisting of the same >>> list1
elements [23, 45, 11, 67, 85, 56]
arranged in sorted order >>> list2
[11, 23, 45, 56, 67, 85]
min() Returns minimum or smallest >>> list1 = [34,12,63,39,92,44]
element >>> min(list1)
of the list 12
max() >>> max(list1)
Returns maximum or largest 92
element of >>> sum(list1)
sum() the list 284
To access the element of the nested list of list1, we have to specify two indices list1[i][j].
The first index I will take us to the desired nested list and second index j will take us to
the desired element in that nested list.
Run:
Enter number of elements: 4
Enter element: 10
Enter element: 5
Enter element: 8
Enter element: 9
Largest element is: 10
Run:
Enter number of elements: 4
Enter element: 10
Enter element: 5
Enter element: 7
Enter element: 2
Average: 6.0
Run:
Original List : [101, 101, 101, 101, 201, 201, 201, 201]
enter the element which you want to count: 201
4
Exercise Questions: List Manipulation
1 Mark Questions
Sr. Question Answer
1. Suppose a list is L=[2, 33, "KVS", 14, 25], “KVS”
what is L[-3]?
2. Find output: 2
List1=[13,18,16,16,13,18]
print(List1.index(16))
3. Given a list L=[1, 2, [“COMPUTER”, “SCIENCE”
“SCIENCE”], “IS”, “TUPLE”]
What will be the value of L[- 3][1]
62
4. What is the output when we execute [‘h’,’e’,’l’,’l’,’o’]
list(“hello”)?
2 Mark Questions
Sr. Question Answer
1. Find the output of the following Python
Code:
>>> L1=[10,20,30] [10, 20, 30, 110]
>>> L2=[110, 220, 330]
>>> L3=L1+L2
>>> L4=L3[0:4] [100, 100, 100, 100]
>>> print (L4)
>>> L4[0]=L4[0]*10
>>> L4[2]=L4[1]*5
>>> L4[1]=L4[2]
>>> L4[3]=L4[3] - 10
>>> print (L4)
2. How the pop( ) function is different from pop() function removes the last
remove( ) function working with list in value and returns the same.
python ? Explain with example. >>>l=[10,20,30,20]
>>>l.pop()
20
The remove() method removes the
first matching value from the list.
>>>l.remove(20)
3. Write a Python program to find and l=["Miao", "Tawang", "Chabua",
display those place names, in which there "Kimin", "Imphal", "Dimapur","Goa"]
are more than 5 characters. for i in l:
For example : if(len(i)>=5):
If the list l= ["Miao", "Tawang", "Chabua", print(i)
"Kimin", "Imphal", "Dimapur",”Goa”]
The following should get displayed :
Tawang
Chabua
Imphal
Dimapur
4. What is the output when following code N
is executed ?
>>>names = ['Amir', 'Bear', 'Charlton',
'Daman']
>>>print(names[-1][-1])
3 Mark Questions
Sr. Question Answer
1. Write a program that will take a number List1=[10,20,30,40,50,60]
from the key board and find its presence Num=int(input(“enter a number”))
in the list [10,20,30, 40,50,60]. It will if Num in List1:
print “Availabe” or “Not available” print(“Available”)
else:
print(“Not Available”)
2. What is the output when following code is 12
executed ?
names1 = ['Amir', 'Bear', 'Charlton',
'Daman']
names2 = names1
63
names3 = names1[:]
names2[0] = 'Alice'
names3[1] = 'Bob'
sum = 0
for ls in (names1, names2, names3):
if ls[0] == 'Alice':
sum += 1
if ls[1] == 'Bob':
sum += 10
print (sum)
3. Write a program to check if a number is lst = eval(input("Enter first list :-"))
present in the list or not. If the number is num = int(input("Enter the number
present, print the position of the number. which you want to search :-"))
if num in lst :
Print an appropriate message if the
print(lst.index( num ) )
number is not present in the list. else :
print("Number not found")
4. Crate the following lists using a for loop: a)
lst = [ ]
(a). A list consisting of the integers 0 for i in range(50):
through 49. lst = lst + [ i ]
print(lst)
(b). A list consisting the square of the b) lst = [ ]
integer 1 through 50 for i in range(51):
lst = lst + [ i**2 ]
print(lst)
5. Write a program to increment the lst = [ ]
while True :
elements of a list with a number.
num = int(input("Enter a number :"))
lst.append(num)
ch = input("for quit enter y or Y =")
if ch == "Y" or ch=='y':
print(lst)
break
4 Mark Questions
Sr. Question Answer
1. Write a Python program to input 10 L=list()
numbers to store in the list and print the for i in range (10):
third largest number. k=int(input("Enter a number :"))
For example, if the entered numbers in L.append(k)
the list are List are L.sort()
36, 25, 14, - 951, 75, - 85, 654, 88, 9521, print ("List is ", L)
657, then output will be print ("The third largest number is
The third largest number is : 654 :", L[-3])
2. Create the following lists using a for loop: (a)>>>L=list()
(a) A list containing of the integers 0 >>> for i in range (50):
through 49. L.append(i)
>>> print (L)
(b) >>>L=list()
(b) A list containing squares of the >>> for i in range (51):
integers 1 through 50. L.append(i*i)
>>> print(L)
3. Find the output of the following code:
64
>>> L=["These", "are", "a", ["few",
"words"], "that", "we", "will", "use"] [['few', 'words']]
>>> print (L[3:4]) words
>>> print (L[3:4][0][1]) r
>>> print (L[3:4][0][1][2]) False
>>> print ("few" in L) True
>>> print ("few" in L[3]) ['These', 'a', 'that', 'will']
>>> print (L[0::2]) ['that', 'we', 'will', 'use']
>>> print (L[4:]) ['These', 'are', 'a', ['few', 'words'],
>>> print (L) 'that', 'we', 'will', 'use']
4. Find and write the output of the 1
following Python code : [3, 'KVS', 4]
x= [1, 2, [3, "KVS", 4], "KV"] KV
print(x[0]) [1]
print(x[2]) True
print(x[-1]) False
print(x[0:1]) 4
print(2 in x) 7
print(x[0]==8)
print(len(x))
x.extend([12,32,4])
print(len(x))
5. The record of a student (Name, Roll No., (a)>>>sr[3] or >>>sr[-1]
Marks in five subjects and percentage of (b)>>>sr[2][4]
marks) is stored in the following list: (c)>>>max(sr[2])
sr = ['Raman','A-36',[56,98,99,72,69], (d)>>>sr[1]
78.8] (e)>>>sr[0]=”Raghav”
Write Python statements to retrieve the
following information from the list sr.
(a) Percentage of the student
(b) Marks in the fifth subject
(c) Maximum marks of the student
(d) Roll no. of the student
(e) Change the name of the student
from ‘Raman’ to ‘Raghav’
65
Tuples in Python
➢ A tuple is a standard data type of Python that can store a sequence of values
belonging to any type.
➢ Tuple is a collection of elements which is ordered and unchangeable
(Immutable). Immutable means you cannot change elements of a tuple in place.
➢ Allows duplicate members.
➢ Consists the values of any type, separated by comma.
➢ Tuples are enclosed within parentheses ( ).
➢ Cannot remove the element from a tuple.
For Example
() empty tuple
( 1, 2, 3) integers tuple
( 1, 2.5, 3.7, 7) numbers tuple
(‘a’, ’b’, ’c’ ) characters tuple
( ‘a’, 1, ‘b’, 3.5, ‘zero’) mixed values tuple
(‘one’, ’two’, ’three’, ’four’) string tuple
Creation of Tuple
a) Empty Tuple : >>>T=()
b) Single element tuple: >>>t=(10,)
#Here comma is necessary in single value tuple. Without comma it will be a value, not
a tuple.
c) Long tuple: >>>a=(5,10,15,20,25,30,35,40)
d) Nested Tuple : >>>b=(2,4,6,(8,10),12)
e) tuple() function is used to create a tuple from other sequences.
Traversing a Tuple: A tuple can be traverses using loop. Accessing each element.
Example:
>>> a=(2,4,6,8,10) Output: 2
>>> for i in a: 4
print(i) 6
8
10
Accessing Tuples:
Elements of a tuple can be accessed in the same way as a list or string using
indexing and slicing.
T[ i ] returns the item present at index i.
>>>T=(5,10,15,20,25,30,35,40)
>>>T[0] #shows 0 index element
5
>>>T[4] #Fifth element of tuple
25
66
>>>T[-2] #Backward indexing similar to >>>T[6] element
35
>>>T[10] #returns error as index is out of range
IndexError: tuple index out of range
Tuple is Immutable: Tuple is an immutable data type. It means that the elements of a
tuple cannot be changed after it has been created. An attempt to do this would lead to an
error.
>>> t1 = (5,10,15,20,25,30)
>>> t1[2] = 100
TypeError: 'tuple' object does not support item assignment.
Operators in Tuple:
A). Concatenation (+ Operator): Python allows us to join two or more tuples using
Concatenation operator depicted by the symbol +.
Example :
>>> t1 = [1,3,5,7,9]
>>> t2 = [2,4,6,8,10]
>>>t1+t2 # + operator
(1,3,5,7,9,2,4,6,8,10)
C). Membership( in / not in operator) : Like strings & lists, the membership operators
in checks if the element is present in the tuple and returns True, else returns False.
Slicing : Like strings & lists, the slicing operation can also be applied to tuples. Tuple
elements can be accessed in subparts.
>>>Tuple_name[start:stop:step]
Examples: t=(10,20,30,40,50,60,70,80,90,100)
67
>>> t[2:6:1]
(30, 40, 50, 60)
>>> t[0:20:2]
(10, 30, 50, 70, 90)
>>> t[-8:-1:1]
(30, 40, 50, 60, 70, 80, 90)
>>> t[ : 6:1]
(10, 20, 30, 40, 50, 60)
>>> t[2 : : 2]
(30, 50, 70, 90)
>>> t[ : : -1]
(100, 90, 80, 70, 60, 50, 40, 30, 20, 10)
>>> t[1:6:-1]
()
>>> t[ : : 2]
(10, 30, 50, 70, 90)
Delete a tuple: The del statement is used to delete elements and objects but as you
know that tuples are immutable, which also means that individual element of a tuple
cannot be deleted.
Example:
>> T=(2,4,6,8,10,12,14)
>>> del T[3]
TypeError: 'tuple' object doesn't support item deletion
But you can delete a complete tuple with del statement as:
Example:
>>> T=(2,4,6,8,10,12,14)
>>> del T
>>> T
NameError: name 'T' is not defined
2 Mark Questions
Sr. Question Answer
1. Write a python program to create tuple=(6,3,1,8,4,9,2,20)
tuple of 10 integer type elements and M=max(tuple)
find the largest element in tuple. print("Largest Value in Tuple: ",M)
2. t1 = (3, 4) (3, 4, '3', '4')
t2 = ('3', '4')
print(t1 + t2)
3. t2 = (4, 5, 6) (6, 7, 4, 5, 6)
t3 = (6, 7) (4, 5, 6, 6, 7)
t4 = t3 + t2
t5 = t2 + t3
print(t4)
print(t5)
4. Discuss the utility and significance of It is a type of arrays . it play very
Tuples, briefly. important role in python . in python it
is immutable type of container which
store any kind of data types it is short
in memory size in comparison of list .
5. Does the slice operator always produce No ,it will print a part of tuple .
a new tuple ?
6. Lists and Tuples are ordered. Lists and Tuples are ordered sequences
Explain. as each element has a fixed position.
70
3 Mark Questions
Sr. Question Answer
1. Find the output of the following Python (10, 20, 30, 40, 50, 60, 70, 20, 30, 50)
Code: 70
t=(10,20,30,40,50,60,70,20,30,50) 2
>>> print (t) 15
>>> print (max(t)) 3
>>> print (t.count(20)) 20
>>> print (t[0]+5)
>>> print (t.index(40))
>>> print (min(t) + len(t))
2. Write a program that inputs two tuples tup1 = eval(input("Enter First tuple :-"))
tup2 = eval(input("Enter second tuple :-"))
and creates a third, that contains all
tup3 = tup1 + tup2
elements of the first followed by all print(tup3)
elements of the second.
3. Create a tuple names as given here: a) names [2 : 5 ]
names = ('jai', 'rahul', 'maya', 'kia', 'Dav',
(b) names [ 0 ]
'Lalit')
Write proper code for getting : (c) names [3 : ]
(a) ('maya', 'kia', 'Dav')
(b) ('jai')
(c) ('kia', 'Dav', 'Lalit')
4. TypeError occurs while statement 2 is Because tuple1 is integer not a tuple. So,
running. Give reason. How can it be we cannot find the length of integer.
If you want to make tuple then you
corrected?
should write ( 5, )
>>> tuple1 = (5) #statement 1
>>> len(tuple1) #statement 2
4 Mark Questions
Sr. Question Answer
1. What will be stored in variables a, b, c, d, ()
e, f, g, h after following statements? (80, 88, 83, 86)
perc = (88, 85, 80, 88, 83, 86) (88, 85)
(88, 85, 80, 88)
a = perc[2:2]
83
b = perc[2:] (80, 88)
c = perc[:2] ()
d = perc[:-2] (88, 85, 80, 88, 83, 86)
e = perc[-2]
f = perc[2:-2]
g = perc[-2:2]
h = perc[:]
71
2. Write a program to input n numbers tup= ()
from the user. Store these numbers in a while True :
tuple. Print the maximum and minimum n = int(input("Enter a number :- "))
number from this tuple. tup += (n,)
ch = input("To quit enter y/Y =")
if ch == "y" or ch=="Y":
print(tup)
print("Max :-",max( tup ))
print("Min :-",min( tup ))
break
3. Consider the following tuples, tuple1 I. 2
and tuple2 and find the output of the II. 3
following statements: III. (23, 1, 45, 67, 45, 9, 55, 45, 100, 200)
IV. 2
tuple1 = (23,1,45,67,45,9,55,45) V. 67
tuple2 = (100,200) VI. 1
i. print(tuple1.index(45)) VII. 300
ii. print(tuple1.count(45)) VIII. [1, 9, 23, 45, 45, 45, 55, 67]
iii. print(tuple1 + tuple2) IX. (23, 1, 45, 67, 45, 9, 55, 45)
iv. print(len(tuple2))
v. print(max(tuple1))
vi print(min(tuple1))
vii. print(sum(tuple2))
viii. print( sorted ( tuple1 ) )
ix.print(tuple1)
4. Write a program to input names of n def find( name):
students and store them in a tuple. Also, if name in tup :
input a name from the user and find if return name, "is present in ",tup
else :
this student is present in the tuple or not.
return name, "is not present in
",tup
We can accomplish these by:
(a) Writing a user defined function tup = eval( input ("Enter a tuple
(b) Using the built-in function containing name of student :-"))
nam = input("Enter name of student :-")
print( find( nam ) )
72