KEMBAR78
Problem Solving and Python Programming | PDF
KARPAGAM INSTITUTE OF TECHNOLOGY,
COIMBATORE - 105
Course Code with Name : GE8151 - Problem Solving and Python Programming
Staff Name / Designation : A.Mahalakshmi / Assistant Professor
Department : Information Technology
Year / Semester : I / I
Department of Information Technology
UNIT I - ALGORITHMIC PROBLEM SOLVING
SYLLABUS:
Algorithms, building blocks of algorithms (statements, state,
control flow, functions), notation(pseudo code, flow chart,
programming language), algorithmic problem solving,
simple strategies for developing algorithms (iteration,
recursion).
Illustrative problems: find minimum in a list, insert a card in
a list of sorted cards, guess an integer number in a range,
Towers of Hanoi.
2/22/2022 Karpagam Insitute of Technology 2
2/22/2022 2
ALGORITHMS
• Step-by-step procedure to solve a problem.
2/22/2022 3
Karpagam Institute of Technology
CHARACTERISTICS OF AN ALGORITHM
• The instructions should be in a ordered manner.
• The instructions must be simple and concise.
• They must not be ambiguous.
• The algorithm must completely and definitely
solve the problem.
2/22/2022 4
Karpagam Institute of Technology
ADVANTAGES OF ALGORITHM
 Easy to understand.
 Programs can be easily developed.
2/22/2022 5
Karpagam Institute of Technology
Write the algorithm to find the sum and average of
given 2 numbers.
Step1 : Start
Step2 : Read values of A and B
Step3 : Calculate SUM =A+B
Step4 : Calculate AVERAGE = (SUM/2)
Step5 : Print Values of SUM and AVERAGE
Step6 : Stop
2/22/2022 6
Karpagam Institute of Technology
BUILDING BLOCKS OF ALGORITHMS
Statement
State
Control Flow
Functions
2/22/2022 7
Karpagam Institute of Technology
STATEMENT
• Statement is a single action in a computer.
• In a computer statements might include some of
the following actions,
Input data-information given to the program
Process data-perform operation on a given input
Output data-processed result
2/22/2022 8
Karpagam Institute of Technology
STATE
• Transition from one process to another process
under specified condition within a time is
called state.
2/22/2022 9
Karpagam Institute of Technology
CONTROL FLOW
• The process of executing the individual
statements in a given order is called control
flow.
• The control can be executed in three ways
 Sequence
 Selection
 Iteration
2/22/2022 10
Karpagam Institute of Technology
SEQUENCE
• All the instructions are executed one after another
is called sequence execution.
• Example: Sum of two numbers:
Step 1: Start
Step 2: Read the values of a and b
Step 3: calculate c=a+b
Step 4: Display c
Step 5: Stop
2/22/2022 11
Karpagam Institute of Technology
SELECTION
• Selection execution is based upon the condition.
• If the conditional test is true, one part of the
program will be executed.
• Otherwise, it will execute the other part of the
program.
2/22/2022 12
Karpagam Institute of Technology
Write an algorithm to check whether he is
eligible to vote?
Step 1: Start
Step 2: Get age
Step 3: if age >= 18 print “Eligible to vote”
Step 4: else print “Not eligible to vote”
Step 6: Stop
2/22/2022 13
Karpagam Institute of Technology
ITERATION
• Set of statements are executed again and again based upon
conditional test.
• Write an algorithm to print all ‘n’ natural numbers
Step 1: Start
Step 2: get n value.
Step 3: initialize i=1
Step 4: if (i<=n) go to step 5 else go to step 7
Step 5: Print i value and increment i value by 1
Step 6: go to step 4
Step 7: Stop
2/22/2022 14
Karpagam Institute of Technology
FUNCTIONS
• Function is a sub program which consists of block of code(set of
instructions) that performs a particular task.
• Algorithm for addition of two numbers using function
Main function
Step 1: Start
Step 2: Call the function add( )
Step 3: Stop
Sub function
Step 1: Function start
Step 2: Get a, b Values
Step 3: add c=a+b
Step 4: Print c
Step 5: Return
2/22/2022 15
Karpagam Institute of Technology
FLOW CHART
• Pictorial representation of an algorithm.
• Since it is a visual representation, it helps to understand the logic of
the program.
2/22/2022 16
Karpagam Institute of Technology
Draw a flowchart to find the sum and average
of given two numbers.
2/22/2022 17
Karpagam Institute of Technology
Draw a flowchart to find the smallest of given
two numbers.
2/22/2022 18
Karpagam Institute of Technology
PSEUDOCODE
• Pseudo code only describes the logic to develop a program
and it can be translated to any computer language code.
• Keywords should be highlighted by capitalizing them.
• Using Keywords:
 Input : READ, OBTAIN, GET
 Output : PRINT, DISPLAY, SHOW
 Compute : COMPUTE, CALCULATE, DETERMINE
 Initialize : SET, INITIALIZE
 Add one : INCREMENT, BUMP
2/22/2022 19
Karpagam Institute of Technology
Write a pseudo code to accept two numbers from the
keyboard and calculate the sum and
product of them, also display the result on the
monitor screen.
BEGIN
READ A, B
CALCUALTE Sum=A+B
DISPLAY Sum
END
2/22/2022 20
Karpagam Institute of Technology
PROGRAMMING LANGUAGE
• Computer programming languages are used to communicate
instructions to a computer.
 Interpreted Programming Languages
 Functional Programming Languages
 Compiled Programming Languages
 Procedural Programming Languages
 Scripting Programming Languages
 Markup Programming Languages
 Logic-Based Programming Languages
 Concurrent Programming Languages
 Object-Oriented Programming Languages
2/22/2022 21
Karpagam Institute of Technology
PROGRAMMING LANGUAGE CONTD..
Interpreted Programming Languages
• An interpreted language execute instructions
directly, without previously compiling a
program into machine-language instructions.
• Examples: APL, BASIC, ICI, J, Lisp, Lua, M,
Pascal, Perl, Python, Ruby, S-Lang, spin
2/22/2022 22
Karpagam Institute of Technology
PROGRAMMING LANGUAGE CONTD..
Functional Programming Language:
• They focus on the application of functions.
• Many functional programming languages are bound
to mathematical calculations.
Examples:-
• ML, Joy, Kite, Clean, OPAL, Q
2/22/2022 23
Karpagam Institute of Technology
PROGRAMMING LANGUAGE CONTD..
Compiled Programming Languages
• A compiled language is a programming
language whose implementations are typically
compilers.
• Examples: Ada, ALGOL, C, C++, C#,
COBOL, etc.
2/22/2022 24
Karpagam Institute of Technology
PROGRAMMING LANGUAGE CONTD..
Procedural Programming Languages
• Procedural (imperative) programming implies
specifying the steps that the programs should
take to reach to an intended state.
• Examples: Bliss, ChucK, CLIST, HyperTalk,
Modula-2, Oberon, Component, Pascal,
MATLAB, PL/C, PL/I, Rapira, RPG
2/22/2022 25
Karpagam Institute of Technology
PROGRAMMING LANGUAGE CONTD..
Scripting Languages
• Scripting languages are programming
languages that control an application.
• Examples: AppleScript, BeanShell,
ColdFusion, F-Script, JASS, PHP, VBScript,
Windows PowerShell
2/22/2022 26
Karpagam Institute of Technology
PROGRAMMING LANGUAGE CONTD..
Markup Languages
• A markup language is an artificial language
that uses annotations to text that define how
the text is to be displayed.
• Examples: Curl, SGML, HTML, XML,
XHTML
2/22/2022 27
Karpagam Institute of Technology
PROGRAMMING LANGUAGE CONTD..
Logic-based Programming Languages
• Logic programming is a type of programming
paradigm which is largely based on formal
logic.
• Examples: ALF, Fril, Janus, Oz, Poplog,
Prolog, ROOP
2/22/2022 28
Karpagam Institute of Technology
PROGRAMMING LANGUAGE CONTD..
Concurrent Programming Languages:
• It is a computer programming technique, which
executes the operation concurrently – either within
single computer or across number of systems.
Examples:
• ABCL, Concurrent Pascal, E, Joule, SALSA, Pict,
SR, etc.
2/22/2022 29
Karpagam Institute of Technology
PROGRAMMING LANGUAGE CONTD..
Object-Oriented Programming Languages
• Object-oriented programming (OOP) is a
programming paradigm based on the concept of
“objects”, which may contain data, in the form of
fields, often known as attributes; and code, in the
form of procedures, often known as methods.
• Examples: IO, Slate, Self, Scala, Prograph,
Oxygene, Moto, MOO, Lava, BETA, Agora
2/22/2022 30
Karpagam Institute of Technology
ALGORITHMIC PROBLEM SOLVING
➢Understanding the problem
➢Ascertain the capabilities of the computational
device
➢Exact /approximate solution
➢Decide on the appropriate data structure
➢Algorithm design techniques
➢Methods of specifying an algorithm
➢Proving an algorithms correctness
➢Analyzing an algorithm
2/22/2022 31
Karpagam Institute of Technology
UNDERSTANDING THE PROBLEM
• The problem given should be clearly and
completely understood.
2/22/2022 32
Karpagam Institute of Technology
DETERMINING THE CAPABILITIES OF
THE COMPUTATIONAL DEVICE
• After understanding the problem, speed and
memory availability of the device are to be
noted.
2/22/2022 33
Karpagam Institute of Technology
EXACT /APPROXIMATE SOLUTION
• Once algorithm is devised, it is necessary to show that
how it computes answer for all the possible legal
inputs.
• Examples of Exact solution problems are
i) Computing addition of 2 numbers.
ii) Find the given number is prime or not.
Examples of Approximate solution problems where an
exact solution cannot be obtained are
i) Finding a square root of number.
ii) Solutions of non linear equations.
2/22/2022 34
Karpagam Institute of Technology
DECIDE ON THE APPROPRIATE DATA
STRUCTURE
• Data type is a well defined collection of data with the well
defined set of operations on it.
• A data structure is basically a group of data elements.
• The Elementary data structures are as follows,
 List: Allows fast access of data
 Sets: Treat data as element of a set. Allows application of
operations such as intersection, Union and equivalence.
 Dictionaries: Allows data to be stored as a key value pair.
2/22/2022 35
Karpagam Institute of Technology
ALGORITHM DESIGN TECHNIQUES
• Creating an algorithm is an art.
• By mastering these design strategies, it will
become easier to devise new and useful
algorithms.
2/22/2022 36
Karpagam Institute of Technology
METHODS OF SPECIFYING AN
ALGORITHM
• Use of natural language or pseudocode.
• Flow Chart
2/22/2022 37
Karpagam Institute of Technology
PROVING AN ALGORITHMS
CORRECTNESS
• It is necessary to prove that algorithm
computes solutions for all the possible valid
input.
2/22/2022 38
Karpagam Institute of Technology
ANALYZING THE PERFORMANCE OF
ALGORITHMS
• An algorithm is analyzed to measure its
performance in terms of CPU time and memory
space required to execute that algorithm.
2/22/2022 39
Karpagam Institute of Technology
SIMPLE STRATEGIES FOR DEVELOPING
ALGORITHMS (ITERATION,
RECURSION)
ITERATION
• A Loop is one or more instructions that the computer
performs repeatedly.
• Algorithm: Write the algorithm to print “1 to 5”
Step1 : Start
Step2 : Initialize the value of i as 1
Step3 : Print i and increment the value of i
Step 4: Repeat the Step 3 until the value of i <=5.
Step 5 : Stop
2/22/2022 40
Karpagam Institute of Technology
RECURSION
• A function that calls itself is known as recursive function and the
phenomenon is called as recursion.
• Algorithm: Write an algorithm to find the factorial of a given
number
Main Program:
Step 1: Start
Step 2: Read n
Step 3: Call the sub program as f=fact(n)
Step 4 : print f value
Step 5: Stop
Sub Program:
Step 1: If n==0 or n==1 return 1 to the main program otherwise go to
step 2
Step 2: return n*fact(n-1) to main program
2/22/2022 41
Karpagam Institute of Technology
FINDING MINIMUM IN A LIST
Step 1:Start
Step 2: Read the list of numbers as L
Step 3: Set Min to list[0]
Step 4: For each number x in the list L, compare it
to min
Step 4a: If x is smaller, then assign min to x
Step 5: Print min
Step 6: Stop
2/22/2022 42
Karpagam Institute of Technology
GUESS AN INTEGER NUMBER IN A
RANGE
Step 1: Start
Step 2: Generate a random number in between 1 and 100
Step 3: Get the guessed number from the user
Step 4:If the random number is equal to the guessed number
print guessing is correct.
Step 5: Otherwise If the random number is greater than the
guessed number print guessing is too high and go to
step 7
Step 6: Otherwise print guessing is too high and go to step 7.
Step 7: Stop
2/22/2022 43
Karpagam Institute of Technology
INSERT A CARD IN A LIST OF SORTED
CARDS
Step 1 - Start
Step 2 - Read the list of sorted cards.
Step 3 - If it is the first card, it is already sorted. return 1;
Step 4 - Pick next card
Step 5 - Compare with all cards in the sorted sub-list
Step 6- Shift all the cards in the sorted sub-list that is
greater than the value of the card to be inserted.
Step 5 - Insert the card
Step 6 - Repeat until list is sorted.
Step 7 - Stop
2/22/2022 44
Karpagam Institute of Technology
TOWERS OF HANOI
• Problem:
• Tower of Hanoi is a mathematical puzzle with
three rods and ‘n’ number of disks.
• These disks are in different sizes and stacked
upon in an ascending order, i.e the smaller one
sits over the larger one.
• The objective is to move all the disks to some
another tower without violating the sequence
of arrangement.
2/22/2022 45
Karpagam Institute of Technology
RULES TO BE FOLLOWED
• Only one disk can be moved among the towers
at any given time.
• Only the “top” disk can be removed.
• No large disk can sit over a small disk.
2/22/2022 46
Karpagam Institute of Technology
2/22/2022 47
Karpagam Institute of Technology
VIDEO TUTORIAL
S.NO TOPIC LINK
1 Minimum in a list https://youtu.be/5Y1rxCMY_jU
2 Insert a Card in a list of
Sorted Cards
https://youtu.be/Mow8rdOKrbY
3 Guess an integer number
in a range
https://youtu.be/pmDKRJdqT1E
4 Tower of Hanoni https://youtu.be/hKUwLe7bpwo
2/22/2022 48
Karpagam Institute of Technology
SUMMARY OF UNIT I
• Algorithm, Flow chart, Pseudo code
• Building Blocks of an Algorithm
• Algorithmic Problem Solving Technique
• Simple Strategies for developing an algorithm
• Illustrative Problems for developing an algorithms
2/22/2022 Karpagam Insitute of Technology 49
2/22/2022 49
ASSIGNMENT QUESTIONS
S.NO QUESTIONS BLOOMS LEVEL
1 Apply the rules of an algorithm and
pseudocode to find whether the given
number is positive, negative and zero.
K3
2 Apply the rules of an algorithm and
pseudocode to find the factorial of a given
number using recursion.
K3
3 Write a pseudo code for converting celsius
of a given value into fahrenheit.
K3
4 Develop a flow chart for performing
Towers of Hanoi operation.
K5
5 Design a flow chart for calculating simple
interest
K5
2/22/2022 50
Karpagam Institute of Technology
QUIZ-TEST YOUR KNOWLEDGE
• https://docs.google.com/forms/d/e/1FAIpQLSe
crZ0M-AnDkGI5HOSpzjHrHiDacakocv_-u2K
s_zul55YF0w/viewform
2/22/2022 Karpagam Insitute of Technology 51
2/22/2022 51
UNIT II DATA, EXPRESSIONS, STATEMENTS
SYLLABUS:
Python interpreter and interactive mode; values and types: int,
float, boolean, string, and list; variables, expressions, statements,
Tuple assignment, precedence of operators, comments; modules
and functions, function definition and use, flow of execution,
parameters and arguments;
Illustrative programs: exchange the values of two variables,
circulate the values of n variables, distance between two points.
2/22/2022 52
2/22/2022 52
Karpagam Institute of Technology
PYTHON INTERPRETER AND INTERACTIVE MODE
INTERACTIVE MODE PROGRAMMING:
• Interactive mode is a command line shell which gives
immediate feedback for each statement.
• In this mode, the prompts for the next command usually have
three greater-than signs (>>>).
• Example- A sample interactive session:
>>> 5
5
>>> print(5*7)
35
>>> "hello" * 4
'hellohellohellohello'
2/22/2022 53
Karpagam Institute of Technology
PYTHON INTERPRETER AND INTERACTIVE MODE
CONTD..
SCRIPT/INTERPRETER MODE PROGRAMMING
• In script mode, execution of the script begins and continues
until the script is finished.
• Example:
2/22/2022 54
Karpagam Institute of Technology
VALUES AND TYPES
• VALUE – refers to the basic things in a program works which
can be like a letter or a number.
• TYPE - refers to the data type, which is used to find the type
of data.
Following are the various basic types of a value:
2/22/2022 55
Karpagam Institute of Technology
S.NO TYPES EXAMPLE OF VALUES
1 Int 10,100,-256,789656
2 Float 3.14,2.56789,-21.9
3 Boolean True or False
4 String “Hai” or ‘Hi’
5 List [0,1,2,3,4]
6 Tuple (0,1,2,3,4)
7 Dictionaries {1: “Hai”, 2: “Welcome”}
VALUES AND TYPES CONTD..
• INTEGER- it is represented by a whole number.
>>>type(3)
<type ‘int’>
• FLOAT-Numbers with a decimal point
>>>type(3.2)
<type 'float'>
• BOOLEAN-it is represented by TRUE or FALSE
>>> bool(1)
True
>>> bool(0)
False
>>>type(2>3)
<class ‘bool’>
2/22/2022 56
Karpagam Institute of Technology
VALUES AND TYPES CONTD..
• STRING - values with quotes like single, double, triple
>>>type('17')
<type 'str'>
• LIST- collection of elements in square bracket [ ]
>>>a=[1,2,3]
>>>type(a)
<tupe ‘list’>
• TUPLE - collection of elements in paranthesis ( )
>>>a=(1,2,3)
>>>type(a)
<type ‘tuple’>
• DICTIONARY – Collection of elements in curly braces { } with key:value
pair
>>>a={1: “hai”, 2: “welcome”}
>>>type(a)
<type ‘dict’>
2/22/2022 57
Karpagam Institute of Technology
VARIABLES
• Variables are defined as reserved memory locations to store
values.
Rules for Naming Variables
• Variable names can contain letters, symbols like underscore
(__) and numbers.
• They begin with a letter not numbers.
• Both uppercase and lowercase letters are used.
• Keywords cannot be used as variable names.
• Example for valid identifier
• abc, xy12, good_start
• Example for non-valid identifier
• 12xy, x$y
2/22/2022 58
Karpagam Institute of Technology
EXPRESSIONS
• An expression is a combination of values, variables,
and operators.
• Examples:
–17
–x
–x + 17
2/22/2022 59
Karpagam Institute of Technology
STATEMENTS
• Each and every instruction or line in the program is
called as statements.
• Example:
A=10 #assignment statement
B=20 #assignment statement
C=A+B #assignment statement
print(C) #print statement
Output :
30 #output statement
2/22/2022 60
Karpagam Institute of Technology
TUPLE ASSIGNMENT
• Python has a very powerful tuple assignment feature that
allows a tuple of variables on the left of an assignment to be
assigned values from a tuple on the right of the assignment.
• For example, to swap a and b:
a=10
b=20
temp = a
a = b
b = temp
• Tuple assignment solves this problem neatly:
(a,b) = (b,a)
2/22/2022 61
Karpagam Institute of Technology
PRECEDENCE OF OPERATORS
ORDER OF OPERATIONS:
• When more than one operator appears in an expression, the
order of evaluation depends on the rules of precedence.
• The acronym PEMDAS is a useful way to remember the rules:
– Parentheses have the highest precedence
• 2 * (3-1) is 4, and
• (1+1)**(5-2) is 8.
- Exponentiation has the next highest precedence
• 2**1+1 is 3, not 4, and
• 3*1**3 is 3, not 27.
2/22/2022 62
Karpagam Institute of Technology
PRECEDENCE OF OPERATORS CONTD..
• Multiplication and Division have the same precedence, which
is higher than Addition and Subtraction, which also have the
same precedence.
– 2*3-1 is 5, not4, and
– 6+4/2 is 8, not 5.
• Operators with the same precedence are evaluated from left to
right (except exponentiation).
– So in the expression degrees / 2 * pi, the division happens
first and the result is multiplied by pi.
2/22/2022 63
Karpagam Institute of Technology
PRECEDENCE OF OPERATORS CONTD..
Operator Description
** Exponentiation raise to the power
~ ,+,- Complement, unary plus and minus
*, /, %, // Multiply, divide, modulo and floor division
+, - Addition and subtraction
>> , << Right and left bitwise shift
& Bitwise 'AND'
^, | Bitwise exclusive `OR' and regular `OR'
<=, <, >, >= Comparison operators
<>, ==, != Equality operators
=, %=, /=, //=, -=, +=, *=, **= Assignment operators
is, is not Identity operators
in, not in Membership operators
not or and Logical operators
2/22/2022 64
Karpagam Institute of Technology
COMMENTS
• Comment is a piece of program text that the interpreter ignores
but that provides useful documentation to programmers.
• Comments start with the # symbol
Example:
# compute the sum of two numbers
C=A+B
• In this case, the comment appears on a line by itself. We can
also put comments at the end of a line
C=A+B #sum of two numbers
2/22/2022 65
Karpagam Institute of Technology
MODULES AND FUNCTIONS
• Module is a file consisting of Python code.
• A module can define functions, classes and variables.
Example:
a="Dora"
def print_func(a):
print ("Hello : ", a)
return
print_func(a)
Output:
Hello : Dora
2/22/2022 66
Karpagam Institute of Technology
MODULES AND FUNCTIONS CONTD..
• The modules can be imported by the following ways:
 The import statement
 The from...import Statement
 The from...import * Statement
2/22/2022 67
Karpagam Institute of Technology
MODULES AND FUNCTIONS CONTD..
The import statement
• We can use any Python source file as a module by
executing an import statement in some other Python
source file.
• The import has the following syntax,
import module1, module2, …….moduleN
Example-
import math
print(math.sqrt(4))
Output
2.0
2/22/2022 68
Karpagam Institute of Technology
MODULES AND FUNCTIONS CONTD..
The from….import statement
• In Python’s from statement, lets us import specific attributes
from a module into the current namespace.
• The from…import statement has the following syntax,
from modname import name1, name2,…nameN
Example-
moduleAccess.py
from sample import a,b
print(a.A())
print(b.B())
Output:
Hai
Hello
2/22/2022 69
Karpagam Institute of Technology
a.py
def A():
print(“Hai”)
b.py
def B():
print(“Hello”)
sample.py
MODULES AND FUNCTIONS CONTD..
The from….import* statement
• It is also possible to import all names from a module
into the current namespace by using the following
import statement,
from modname import*
• This provides an easy way to import all the items
from a module into the current namespace.
2/22/2022 70
Karpagam Institute of Technology
FUNCTION DEFINITION AND USE
FUNCTION
 Function is a block of code, that are executed when it is called.
 Function blocks begin with the keyword def followed by the
function name and parentheses ( ).
 Any input parameters or arguments should be placed within
these parentheses.
 The code block within every function starts with a colon (:) and
is indented.
 The statement return [expression] exits a function, optionally
passing back an expression to the caller.
 A return statement with no arguments is the same as return
None.
2/22/2022 71
Karpagam Institute of Technology
FUNCTION DEFINITION AND USE CONTD..
Syntax-
def functionname( parameters ):
function_suite
return[expression]
Example-
def printme(str):
print (str)
return
2/22/2022 72
Karpagam Institute of Technology
FUNCTION DEFINITION AND USE CONTD..
USES OF FUNCTION-
It makes the program size smaller.
It involves the concept of modularity.
2/22/2022 73
Karpagam Institute of Technology
FLOW OF EXECUTION
 The order in which statements are executed, which is
called the flow of execution.
 Execution always begins at the first statement of the
program.
 Statements are executed one at a time, in order from
top to bottom.
 During function call, the arguments in the actual
parameters are assigned to the formal parameters.
2/22/2022 74
Karpagam Institute of Technology
FLOW OF EXECUTION CONTD..
2/22/2022 75
Karpagam Institute of Technology
FLOW OF EXECUTION CONTD..
Example-
a=10
b=20
def sum(c,d):
e=c+d
return e
print("Result is :",sum(a,b))
Output:
30
2/22/2022 76
Karpagam Institute of Technology
PARAMETERS AND ARGUMENTS
• Parameters provide the data communication between
calling function and called function.
Two types:
 Actual parameter -This is the argument which is
used in function call.
 Formal parameter - This is the argument which is
used in function definition.
2/22/2022 77
Karpagam Institute of Technology
PARAMETERS AND ARGUMENTS CONTD..
ARGUMENTS - refers to the value.
Types of Arguments
 Required arguments
 Keyword arguments
 Default arguments
 Variable-length arguments
2/22/2022 78
Karpagam Institute of Technology
PARAMETERS AND ARGUMENTS CONTD..
REQUIRED ARGUMENTS
 Required arguments are the arguments passed to a function
in correct positional order.
Example
def sum(a,b):
c=a+b
return c
print("Result is:", sum(10,20))
Output:
30
2/22/2022 79
Karpagam Institute of Technology
PARAMETERS AND ARGUMENTS CONTD..
KEYWORD ARGUMENTS
 Here, the caller identifies the arguments by the parameter
name.
Example
def sum(a,b):
c=a+b
return c
print("Result is:", sum(a=10,b=20))
Output:
30
2/22/2022 80
Karpagam Institute of Technology
PARAMETERS AND ARGUMENTS CONTD..
DEFAULT ARGUMENT:
 Default argument is an argument that assumes a default
value if a value is not provided in the function call for that
argument.
Example
def sum(a=10,b):
c=a+b
return c
print("Result is:", sum(20))
Output:
30
2/22/2022 81
Karpagam Institute of Technology
PARAMETERS AND ARGUMENTS CONTD..
VARIABLE-LENGTH ARGUMENT
 This is used to process a function with more argument.
Syntax for a function with variable length argument,
def functionname([formal_args,]*var_args_tuple):
function_suite
return[expression]
2/22/2022 82
Karpagam Institute of Technology
PARAMETERS AND ARGUMENTS CONTD..
Example for Variable-length Argument
def printinfo( arg1,*vartuple):
print ("Output is: ")
print ( arg1)
for var in vartuple:
print (var)
return;
printinfo(10)
printinfo(70,60,50)
Output
10
Output
70
60
50
2/22/2022 83
Karpagam Institute of Technology
EXCHANGE THE VALUE OF TWO VARIABLES
With Temporary Variable
x = input("Enter value of x:")
y = input("Enter value of y:")
temp = x
x = y
y = temp
print('The value of x after swapping:',x)
print('The value of y after swapping:',y)
Output
Enter value of x: 67
Enter value of y: 45
The value of x after swapping: 45
The value of y after swapping: 67
2/22/2022 84
Karpagam Institute of Technology
EXCHANGE THE VALUE OF TWO VARIABLES CONTD..
Without Temporary Variable
x = input("Enter value of x:")
y = input("Enter value of y:")
x= x + y
y = x - y
x = x - y
print('The value of x after swapping:',x)
print('The value of y after swapping:',y)
Output
Enter value of x: 67
Enter value of y: 45
The value of x after swapping: 45
The value of y after swapping: 67
2/22/2022 85
Karpagam Institute of Technology
CIRCULATE THE VALUES OF N NUMBERS
def circulate(A,N):
for i in range of(0,N):
j=len(A)-1
while j>0:
temp=A[j]
A[j]=A[j-1]
A[j-1]=temp
j=j-1
print(‘Circulationt’,A)
return
A=[91,92,93,94,95]
n=int(input(“Enter n:”))
circulate(A,n)
Output
n=2
Circulation 95,91,92,93,94
Circulation 94,95,91,92,93
2/22/2022 86
Karpagam Institute of Technology
DISTANCE BETWEEN TWO POINTS
import math
x1=int(input("Enter the X-Coordinate of first point"))
y1=int(input("Enter the Y-Coordinate of first point"))
x2=int(input("Enter the X-Coordinate of Second point"))
y2=int(input("Enter the Y-Coordinate of Second point"))
distance = math.sqrt( ((x1-x2)**2)+((y1-y2)**2) )
print(distance)
Output
Enter the X-Coordinate of first point 4
Enter the Y-Coordinate of first point 0
Enter the X-Coordinate of Second point 6
Enter the Y-Coordinate of Second point 6
6.324555320336759
2/22/2022 87
Karpagam Institute of Technology
VIDEO TUTORIAL
S.No Topic Link
1 Interpreter and Interactive mode https://youtu.be/3lvgY5V8494
2 Operator and it's types with their
Precedence
https://youtu.be/ljaw6cUobtU
3 Circulate the value of n numbers
using slicing operator
https://youtu.be/1Y46EaJAQ4c
4 Distance between two points https://youtu.be/qeZ5kiKJe7c
2/22/2022 88
Karpagam Institute of Technology
SUMMARY
 Python Interpreter and Interactive mode
 Values and Data types
 Operators and its Precedence
 Modules and Functions
 Function Parameters and Arguments
 Illustrative Problems
2/22/2022 89
Karpagam Institute of Technology
ASSIGNMENT QUESTIONS
S.No Questions Blooms Level
1 Write a Python programs to check
whether the given number is palindrome
or not
K3
2 Apply the concept of Modules for airlines
system
K3
3 Distinguish between Interpreter mode and
Interactive mode
K4
4 Develop a Python program for finding
Fibonacci sequence of n numbers using
function with recursion
K5
2/22/2022 90
Karpagam Institute of Technology
QUIZ - TEST YOUR KNOWLEDGE
• https://forms.gle/uP745eEsYzko6Y2U9
2/22/2022 91
Karpagam Institute of Technology
UNIT III CONTROL FLOW, FUNCTIONS
SYLLABUS
Conditionals: Boolean values and operators, conditional (if),
alternative (if-else), chained conditional (if-elif-else);
Iteration: state, while, for, break, continue, pass; Fruitful
functions: return values, parameters, local and global scope,
function composition, recursion; Strings: string slices,
immutability, string functions and methods, string module;
Lists as arrays.
Illustrative programs: square root, gcd, exponentiation, sum
an array of numbers, linear search, binary search.
2/22/2022 92
Karpagam Insitute of Technology
2/22/2022 92
BOOLEAN EXPRESSION
A Boolean expression is a expression that results in either true
or false.
It uses the == operator which compares two operands and
procedures true if both are equal otherwise false.
93
Karpagam Institute of Technology
2/22/2022
CONTROL FLOW
• It is a statement that determines the control flow of a set of
instructions., (ie) it decides the sequence in which the
instructions in a program are to be executed.
• It can either comprise of one or more instructions. Three
fundamental control statements are
 Sequential
 Selection
 Iterative control
94
Karpagam Institute of Technology
2/22/2022
TYPES OF DECISION CONTROL STATEMENTS
95
Karpagam Institute of Technology
2/22/2022
SELECTION OR CONDITIONAL BRANCHING
STATEMENT
• The decision control statements usually jumps from one part of
the code to another depending on whether a particular
condition is satisfied or not.
• Python selection statements are:
 If statement
 If-else statement
 If-elif-else statement
 Nested-if statement
96
Karpagam Institute of Technology
2/22/2022
ITERATIVE STATEMENTS
• Iterative statements are decision control statements that are
used to repeat the execution of a list of statements. The
following are the types of iterative statements.
 while loop
 for loop
97
Karpagam Institute of Technology
2/22/2022
WHILE LOOP
• The while loop provides a mechanism to repeat one or more
statements while a particular condition is true.
• Syntax:
Statement X
while (condition):
Statements block
98
Karpagam Institute of Technology
2/22/2022
FLOWCHART FOR WHILE LOOP
99
Karpagam Institute of Technology
2/22/2022
EXAMPLE FOR WHILE LOOP
num = 1
while num < 10:
print(num)
num = num + 3
Ouput:
1
4
7
100
Karpagam Institute of Technology
2/22/2022
EXAMPLE FOR WHILE LOOP WITH ELSE STATEMENT
num = 10
while num > 6:
print(num)
num = num-1
else:
print("loop is finished")
Output:
10
9
8
7
loop is finished
101
Karpagam Institute of Technology
2/22/2022
FOR LOOP
• It provides a mechanism to repeat a task until a particular
condition is true.
• It is known as determinate or definite loop because the
programmer knows exactly how many times the loop will
repeat.
Syntax 1:
for loop_control_var in sequence:
Statement block
102
Karpagam Institute of Technology
2/22/2022
FOR LOOP CONTD..
Syntax 2:
for variable in range(beg,end,[step]):
Statements
103
Karpagam Institute of Technology
2/22/2022
FLOWCHART OF FOR LOOP
104
Karpagam Institute of Technology
2/22/2022
EXAMPLE OF FOR LOOP
numbers = [1, 2, 4, 6, 11, 20]
sq = 0
for val in numbers:
sq = val * val
print(sq)
105
Karpagam Institute of Technology
2/22/2022
Output:
1
4
16
36
121
400
RANGE( ) IN FOR LOOP
• range(n): generates a set of whole numbers starting
from 0 to (n-1).
For example:
range(8) is equivalent to [0, 1, 2, 3, 4, 5, 6, 7]
• range(start, stop): generates a set of whole numbers
starting from start to stop-1.
For example:
range(5, 9) is equivalent to [5, 6, 7, 8]
106
Karpagam Institute of Technology
2/22/2022
RANGE( ) IN FOR LOOP CONTD..
• range(start, stop, step_size): The default step_size is 1
which is why when we didn’t specify the step_size, the
numbers generated are having difference of 1. However
by specifying step_size we can generate numbers having
the difference of step_size.
For example:
range(1, 10, 2) is equivalent to [1, 3, 5, 7, 9]
107
Karpagam Institute of Technology
2/22/2022
EXAMPLE OF FOR LOOP WITH RANGE( )
sum = 0
for val in range(1, 6):
sum = sum + val
print(sum)
Output:
15
108
Karpagam Institute of Technology
2/22/2022
EXAMPLE OF FOR LOOP WITH ELSE BLOCK
for val in range(5):
print(val)
else:
print("The loop has completed execution")
Output:
0
1
2
3
4
The loop has completed execution
109
Karpagam Institute of Technology
2/22/2022
BREAK STATEMENT
• The break statement is used to terminate the
execution of the loop.
• When a compiler encounters a break statement, the
control passes to the statement that follows the loop
in which the break statement appears.
• Syntax:- break
110
Karpagam Institute of Technology
2/22/2022
FLOWCHART FOR BREAK STATEMENT
111
Karpagam Institute of Technology
2/22/2022
EXAMPLE FOR BREAK STATEMENT
# program to display all the elements before number 88
for num in [11, 9, 88, 10, 90, 3, 19]:
print(num)
if(num==88):
print("The number 88 is found")
print("Terminating the loop")
break
112
Karpagam Institute of Technology
2/22/2022
Output:-
11
9
88
The number 88 is found
Terminating the loop
CONTINUE STATEMENT
• The continue statement can only appear in the body
of a loop.
• When a compiler encounters a continue statement,
then the rest of the statement s in the loop are skipped
and the control is unconditionally transferred to the
loop-continuation portion of the nearest loop.
• Syntax: continue
113
Karpagam Institute of Technology
2/22/2022
FLOWCHART FOR CONTINUE STATEMENT
114
Karpagam Institute of Technology
2/22/2022
EXAMPLE FOR CONTINUE STATEMENT
# program to display only odd numbers
for num in [20, 11, 9, 66, 4, 89, 44]:
if (num%2 == 0):
continue
print(num)
115
Karpagam Institute of Technology
2/22/2022
Output
11
9
89
PASS STATEMENT
• The pass statement acts as a placeholder and usually used
when there is no need of code but a statement is still required to
make a code syntactically correct.
• Example:-
for num in [20, 11, 9, 66, 4, 89, 44]:
if num%2 == 0:
pass
else:
print(num)
Output:
11
9
89
116
Karpagam Institute of Technology
2/22/2022
STRINGS
• String is a sequence of characters.
• String may contain alphabets, numbers and special
characters.
• String value must be enclosed within either single
quotes or within double quotes.
• String is immutable in nature. (i.e)., once created
cannot be able to edit when it is stored in a variable.
Example:
Letter = “A”
Name = ‘python’
117
Karpagam Institute of Technology
2/22/2022
READING STRING VALUE FROM THE USER:
• Using input( ) function we can read string value from
the user.
Syntax:
Variable_name=input(“Enter the values”)
Example:
Name=input(“Enter the name”)
print(“Welcome”,name)
Output:
Enter the name: python
Welcome python
118
Karpagam Institute of Technology
2/22/2022
INDEX OPERATION:
• Each character can be accessed through index operator.
Syntax:
String_variable_name[index]
• Index value starts at zero and last index value is(length of
the string-1)
Example:
119
Karpagam Institute of Technology
2/22/2022
STRING OPERATIONS
120
Karpagam Institute of Technology
2/22/2022
CONCATENATION OF TWO OR MORE STRINGS
• Joining of two or more strings into a single one is
called concatenation.
Syntax: String2=string1+string2
Example:
str1 = 'Hello'
str2 ='World!'
print('str1 + str2 = ', str1 + str2)
Output:
Hello World!
121
Karpagam Institute of Technology
2/22/2022
REPETITION OPERATOR(*):
• It is used to concatenate the same string multiple
times.
Syntax:
String2=String1*integer value
Example:
str1 = 'Hello'
print('str1 * 3 =', str1 * 3)
Output:
HelloHelloHello
122
Karpagam Institute of Technology
2/22/2022
STRING SLICING
• Slicing operations is used to select/return /slice
the particular substring based on user
requirements.
• A segment of the string is called slice.
Syntax:
String_variable_name[start:end:step value]
• Here all the parameters/variables are optional
• The default value for start is zero and end is end-1
• The default value for step is 1.
123
Karpagam Institute of Technology
2/22/2022
EXAMPLE FOR STRING SLICING
var1 = 'Hello World!’
var2 = "Python Programming"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
Output:
H
ytho
124
Karpagam Institute of Technology
2/22/2022
STRING COMPARISON:
• We can compare two strings by using comparison
operators such as ==,!=,<,<=,>,>=.
• Python compares strings based on their corresponding
ASCII values.
• For ‘a’ASCII value is 97 and ‘A’ASCII value is 65.
125
Karpagam Institute of Technology
2/22/2022
EXAMPLE FOR STRING COMPARISON
str1=”green”
str2=”glow”
print(“is both string are equal:”, str1==str2)
print(“is both string are not equal:”, str1!=str2)
print(“is str1>str2:”,str1>str2)
print(“is str1>str2:”,str1<str2)
126
Karpagam Institute of Technology
2/22/2022
Output:-
is both string are equal:False
is both string are not equal:True
is str1>str2:True
is str1>str2:False
STRING ITERATION:
• We can us for loop to traverse all the characters in the
string sequentially.
• Syntax1:
for var_name in string_varaible_name:
statements
• Syntax2:
for var_name in range(initial, final,step value):
statements
127
Karpagam Institute of Technology
2/22/2022
PROGRAM TO COUNT THE NUMBER OF
CHARACTERS IN A STRING
str=input(“enter any string:”)
count=0
for letter in str:
if(letter):
count=count+1
print(“total number of characters in string is:”, count)
Output:
Enter any string:python
Total number of characters in string is:6
128
Karpagam Institute of Technology
2/22/2022
COUNT THE NUMBER OF CHARACTERS IN A STRING
USING RANGE FUNCTION
str=input(“enter any string:”)
count=0
for letter in range(0,len(str)+1,1):
if(letter):
count=count+1
print(“total number of characters in string is:”, count)
Output:
Enter any string: python
Total number of characters in string is:6
129
Karpagam Institute of Technology
2/22/2022
STRING IMMUTABILITY
• Strings are immutable in nature.
• We cannot edit the string value once it is assigned to variable.
• If we try to assign or replace a value in the string, it displays
an error message that str is not a mutable object.
Program:
str= “welcome”
print(str[3])
str[3]= “c”# assigning value c to index 3 place
print(str)
Output:
c
Traceback (most recent call last):
str[3]=”c’# assigning value c to index 3 place
TypeError:’str’ object does not support item assignment
130
Karpagam Institute of Technology
2/22/2022
STRING MODULES
• String modules contain a number of functions to
process standard python string.
• This can be done by importing string function.
Syntax:
import string
131
Karpagam Institute of Technology
2/22/2022
LIST AS ARRAY:
• Array is a collection of similar data items that are
stored under a common name.
• Python is not providing array data type rather than it
provides a LIST.
Implementing array in python one-dimensional list:
• Arrays can be implemented as one dimensional list.
• Ex: Price_list=[70,80,90,93.5,30.456]
132
Karpagam Institute of Technology
2/22/2022
MINIMUM VALUE IN THE LIST WITHOUT USING
INBUILT FUNCTION:
price_list=[70,80,90,93.5,30.456]
min=price_list[0]
for min_value in price_list:
if min>min_value:
min=min_value
print(“minimum value in the list is:”,min)
OUTPUT:
minimum value in the list is:34.56
133
Karpagam Institute of Technology
2/22/2022
IMPLEMENTING ARRAY IN PYTHON AS TWO-
DIMENSIONAL LIST:
Example:
Two_dim_array_list=[[1,2],[3,4]]
Program:
two_dim=[[1,2],[3,4]]
print(“original 2 dimensional list:”)
for i in range(len(two_dim)):
for j in range(len(two_dim[i])):
print(two_dim[i][j],end=“”)
print(“n”)
134
Karpagam Institute of Technology
2/22/2022
SQUARE ROOT OFA GIVEN NUMBER:
num=float(input("Enter a Number"))
num_sqrt=num**0.5
print("The square root of %0.3f is %0.3f"%(num,num_sqrt))
Output--
135
Karpagam Institute of Technology
2/22/2022
GCD OF TWO NUMBERS
def gcd(a, b):
if(b==0):
return a
else:
return gcd(b, a%b)
a=int(input("Enter First number"))
b=int(input("Enter Second number"))
GCD=gcd(a, b)
print("GCD is:")
print(GCD)
2/22/2022 136
Karpagam Institute of Technology
EXPONENTIATION
import math # This will import math module
print ("math.pow(100,2): ", math.pow(100,2))
print ("math.pow(100,-2): ",math.pow(100,-2))
print ("math,pow(2,4): ",math.pow(2,4))
print ("math.pow(3,0): ",math.pow(3,0))
137
Karpagam Institute of Technology
2/22/2022
SUM AN ARRAY NUMBERS
def listsum(numlist):
sum=0
for i in numberlist:
sum=sum+i
return sum
print(listsum([1,3,5,9]))
Output:
18
138
Karpagam Institute of Technology
2/22/2022
LINEAR SEARCH
my_data=[89,45,9,21,34]
num=int(input(“Enter search num:”))
for i in range (0, len(my_data)):
if num==my_data[i]:
print(“Item is located at position=,”i)
else:
print(“Item not found”)
139
Karpagam Institute of Technology
2/22/2022
BINARY SEARCH
list=[10,20,30,40]
x=int(input(“Enter the element to search:”)
first=0
last=len(list-1)
while(first<=last):
mid=(first+last)//2
if(x==list[mid]):
print(“The element is found at the index:”,mid)
break
elif(x<list[mid]):
last=mid-1
else:
first=mid+1
else:
print(“The element is not found in the list”)
140
Karpagam Institute of Technology
2/22/2022
VIDEO TUTORIAL
S.NO TOPIC LINK
1 Boolean Values and
Operators
https://youtu.be/7vy_GffZZTg
2 Loops in Python https://www.youtube.com/watch?v=
zFvoXxeoosI
3 Fruitful Functions https://youtu.be/hMGc19ZYzDM
4 Strings in Python https://www.youtube.com/watch?v=
QGLNQwfTO2w
5 Linear Search https://youtu.be/fHMXsGkN5cg
2/22/2022 141
Karpagam Institute of Technology
SUMMARY
• Python branching statements
• Python looping statements
• Strings and its methods.
• Illustrative Programs
2/22/2022 Karpagam Institute of Technology 142
ASSIGNMENT QUESTIONS
S.NO QUESTIONS BLOOMS LEVEL
1 Write a Python program to check whether a
given number is a perfect number
K3
2 Write a Python program to calculate the number
of words and number of characters present in a
string
K3
3 Write a Python code to count the occurrences of
each word in a given string sequence
K3
4 Develop a Python code to check whether a string
is palindrome or not
K5
5 Develop a Python program to detect whether
two strings are anagrams
K5
2/22/2022 143
Karpagam Institute of Technology
QUIZ-TEST YOUR KNOWLEDGE
• https://docs.google.com/forms/d/e/1FAIpQLSc
Yn1TS4wfhudU0CgVwuCGlEZPQmchmz1_l
av0Q2oiONI8Gbw/viewform
2/22/2022 Karpagam Institute of Technology 144
THANK YOU
2/22/2022 Karpagam Insitute of Technology 145
2/22/2022 145

Problem Solving and Python Programming

  • 1.
    KARPAGAM INSTITUTE OFTECHNOLOGY, COIMBATORE - 105 Course Code with Name : GE8151 - Problem Solving and Python Programming Staff Name / Designation : A.Mahalakshmi / Assistant Professor Department : Information Technology Year / Semester : I / I Department of Information Technology
  • 2.
    UNIT I -ALGORITHMIC PROBLEM SOLVING SYLLABUS: Algorithms, building blocks of algorithms (statements, state, control flow, functions), notation(pseudo code, flow chart, programming language), algorithmic problem solving, simple strategies for developing algorithms (iteration, recursion). Illustrative problems: find minimum in a list, insert a card in a list of sorted cards, guess an integer number in a range, Towers of Hanoi. 2/22/2022 Karpagam Insitute of Technology 2 2/22/2022 2
  • 3.
    ALGORITHMS • Step-by-step procedureto solve a problem. 2/22/2022 3 Karpagam Institute of Technology
  • 4.
    CHARACTERISTICS OF ANALGORITHM • The instructions should be in a ordered manner. • The instructions must be simple and concise. • They must not be ambiguous. • The algorithm must completely and definitely solve the problem. 2/22/2022 4 Karpagam Institute of Technology
  • 5.
    ADVANTAGES OF ALGORITHM Easy to understand.  Programs can be easily developed. 2/22/2022 5 Karpagam Institute of Technology
  • 6.
    Write the algorithmto find the sum and average of given 2 numbers. Step1 : Start Step2 : Read values of A and B Step3 : Calculate SUM =A+B Step4 : Calculate AVERAGE = (SUM/2) Step5 : Print Values of SUM and AVERAGE Step6 : Stop 2/22/2022 6 Karpagam Institute of Technology
  • 7.
    BUILDING BLOCKS OFALGORITHMS Statement State Control Flow Functions 2/22/2022 7 Karpagam Institute of Technology
  • 8.
    STATEMENT • Statement isa single action in a computer. • In a computer statements might include some of the following actions, Input data-information given to the program Process data-perform operation on a given input Output data-processed result 2/22/2022 8 Karpagam Institute of Technology
  • 9.
    STATE • Transition fromone process to another process under specified condition within a time is called state. 2/22/2022 9 Karpagam Institute of Technology
  • 10.
    CONTROL FLOW • Theprocess of executing the individual statements in a given order is called control flow. • The control can be executed in three ways  Sequence  Selection  Iteration 2/22/2022 10 Karpagam Institute of Technology
  • 11.
    SEQUENCE • All theinstructions are executed one after another is called sequence execution. • Example: Sum of two numbers: Step 1: Start Step 2: Read the values of a and b Step 3: calculate c=a+b Step 4: Display c Step 5: Stop 2/22/2022 11 Karpagam Institute of Technology
  • 12.
    SELECTION • Selection executionis based upon the condition. • If the conditional test is true, one part of the program will be executed. • Otherwise, it will execute the other part of the program. 2/22/2022 12 Karpagam Institute of Technology
  • 13.
    Write an algorithmto check whether he is eligible to vote? Step 1: Start Step 2: Get age Step 3: if age >= 18 print “Eligible to vote” Step 4: else print “Not eligible to vote” Step 6: Stop 2/22/2022 13 Karpagam Institute of Technology
  • 14.
    ITERATION • Set ofstatements are executed again and again based upon conditional test. • Write an algorithm to print all ‘n’ natural numbers Step 1: Start Step 2: get n value. Step 3: initialize i=1 Step 4: if (i<=n) go to step 5 else go to step 7 Step 5: Print i value and increment i value by 1 Step 6: go to step 4 Step 7: Stop 2/22/2022 14 Karpagam Institute of Technology
  • 15.
    FUNCTIONS • Function isa sub program which consists of block of code(set of instructions) that performs a particular task. • Algorithm for addition of two numbers using function Main function Step 1: Start Step 2: Call the function add( ) Step 3: Stop Sub function Step 1: Function start Step 2: Get a, b Values Step 3: add c=a+b Step 4: Print c Step 5: Return 2/22/2022 15 Karpagam Institute of Technology
  • 16.
    FLOW CHART • Pictorialrepresentation of an algorithm. • Since it is a visual representation, it helps to understand the logic of the program. 2/22/2022 16 Karpagam Institute of Technology
  • 17.
    Draw a flowchartto find the sum and average of given two numbers. 2/22/2022 17 Karpagam Institute of Technology
  • 18.
    Draw a flowchartto find the smallest of given two numbers. 2/22/2022 18 Karpagam Institute of Technology
  • 19.
    PSEUDOCODE • Pseudo codeonly describes the logic to develop a program and it can be translated to any computer language code. • Keywords should be highlighted by capitalizing them. • Using Keywords:  Input : READ, OBTAIN, GET  Output : PRINT, DISPLAY, SHOW  Compute : COMPUTE, CALCULATE, DETERMINE  Initialize : SET, INITIALIZE  Add one : INCREMENT, BUMP 2/22/2022 19 Karpagam Institute of Technology
  • 20.
    Write a pseudocode to accept two numbers from the keyboard and calculate the sum and product of them, also display the result on the monitor screen. BEGIN READ A, B CALCUALTE Sum=A+B DISPLAY Sum END 2/22/2022 20 Karpagam Institute of Technology
  • 21.
    PROGRAMMING LANGUAGE • Computerprogramming languages are used to communicate instructions to a computer.  Interpreted Programming Languages  Functional Programming Languages  Compiled Programming Languages  Procedural Programming Languages  Scripting Programming Languages  Markup Programming Languages  Logic-Based Programming Languages  Concurrent Programming Languages  Object-Oriented Programming Languages 2/22/2022 21 Karpagam Institute of Technology
  • 22.
    PROGRAMMING LANGUAGE CONTD.. InterpretedProgramming Languages • An interpreted language execute instructions directly, without previously compiling a program into machine-language instructions. • Examples: APL, BASIC, ICI, J, Lisp, Lua, M, Pascal, Perl, Python, Ruby, S-Lang, spin 2/22/2022 22 Karpagam Institute of Technology
  • 23.
    PROGRAMMING LANGUAGE CONTD.. FunctionalProgramming Language: • They focus on the application of functions. • Many functional programming languages are bound to mathematical calculations. Examples:- • ML, Joy, Kite, Clean, OPAL, Q 2/22/2022 23 Karpagam Institute of Technology
  • 24.
    PROGRAMMING LANGUAGE CONTD.. CompiledProgramming Languages • A compiled language is a programming language whose implementations are typically compilers. • Examples: Ada, ALGOL, C, C++, C#, COBOL, etc. 2/22/2022 24 Karpagam Institute of Technology
  • 25.
    PROGRAMMING LANGUAGE CONTD.. ProceduralProgramming Languages • Procedural (imperative) programming implies specifying the steps that the programs should take to reach to an intended state. • Examples: Bliss, ChucK, CLIST, HyperTalk, Modula-2, Oberon, Component, Pascal, MATLAB, PL/C, PL/I, Rapira, RPG 2/22/2022 25 Karpagam Institute of Technology
  • 26.
    PROGRAMMING LANGUAGE CONTD.. ScriptingLanguages • Scripting languages are programming languages that control an application. • Examples: AppleScript, BeanShell, ColdFusion, F-Script, JASS, PHP, VBScript, Windows PowerShell 2/22/2022 26 Karpagam Institute of Technology
  • 27.
    PROGRAMMING LANGUAGE CONTD.. MarkupLanguages • A markup language is an artificial language that uses annotations to text that define how the text is to be displayed. • Examples: Curl, SGML, HTML, XML, XHTML 2/22/2022 27 Karpagam Institute of Technology
  • 28.
    PROGRAMMING LANGUAGE CONTD.. Logic-basedProgramming Languages • Logic programming is a type of programming paradigm which is largely based on formal logic. • Examples: ALF, Fril, Janus, Oz, Poplog, Prolog, ROOP 2/22/2022 28 Karpagam Institute of Technology
  • 29.
    PROGRAMMING LANGUAGE CONTD.. ConcurrentProgramming Languages: • It is a computer programming technique, which executes the operation concurrently – either within single computer or across number of systems. Examples: • ABCL, Concurrent Pascal, E, Joule, SALSA, Pict, SR, etc. 2/22/2022 29 Karpagam Institute of Technology
  • 30.
    PROGRAMMING LANGUAGE CONTD.. Object-OrientedProgramming Languages • Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. • Examples: IO, Slate, Self, Scala, Prograph, Oxygene, Moto, MOO, Lava, BETA, Agora 2/22/2022 30 Karpagam Institute of Technology
  • 31.
    ALGORITHMIC PROBLEM SOLVING ➢Understandingthe problem ➢Ascertain the capabilities of the computational device ➢Exact /approximate solution ➢Decide on the appropriate data structure ➢Algorithm design techniques ➢Methods of specifying an algorithm ➢Proving an algorithms correctness ➢Analyzing an algorithm 2/22/2022 31 Karpagam Institute of Technology
  • 32.
    UNDERSTANDING THE PROBLEM •The problem given should be clearly and completely understood. 2/22/2022 32 Karpagam Institute of Technology
  • 33.
    DETERMINING THE CAPABILITIESOF THE COMPUTATIONAL DEVICE • After understanding the problem, speed and memory availability of the device are to be noted. 2/22/2022 33 Karpagam Institute of Technology
  • 34.
    EXACT /APPROXIMATE SOLUTION •Once algorithm is devised, it is necessary to show that how it computes answer for all the possible legal inputs. • Examples of Exact solution problems are i) Computing addition of 2 numbers. ii) Find the given number is prime or not. Examples of Approximate solution problems where an exact solution cannot be obtained are i) Finding a square root of number. ii) Solutions of non linear equations. 2/22/2022 34 Karpagam Institute of Technology
  • 35.
    DECIDE ON THEAPPROPRIATE DATA STRUCTURE • Data type is a well defined collection of data with the well defined set of operations on it. • A data structure is basically a group of data elements. • The Elementary data structures are as follows,  List: Allows fast access of data  Sets: Treat data as element of a set. Allows application of operations such as intersection, Union and equivalence.  Dictionaries: Allows data to be stored as a key value pair. 2/22/2022 35 Karpagam Institute of Technology
  • 36.
    ALGORITHM DESIGN TECHNIQUES •Creating an algorithm is an art. • By mastering these design strategies, it will become easier to devise new and useful algorithms. 2/22/2022 36 Karpagam Institute of Technology
  • 37.
    METHODS OF SPECIFYINGAN ALGORITHM • Use of natural language or pseudocode. • Flow Chart 2/22/2022 37 Karpagam Institute of Technology
  • 38.
    PROVING AN ALGORITHMS CORRECTNESS •It is necessary to prove that algorithm computes solutions for all the possible valid input. 2/22/2022 38 Karpagam Institute of Technology
  • 39.
    ANALYZING THE PERFORMANCEOF ALGORITHMS • An algorithm is analyzed to measure its performance in terms of CPU time and memory space required to execute that algorithm. 2/22/2022 39 Karpagam Institute of Technology
  • 40.
    SIMPLE STRATEGIES FORDEVELOPING ALGORITHMS (ITERATION, RECURSION) ITERATION • A Loop is one or more instructions that the computer performs repeatedly. • Algorithm: Write the algorithm to print “1 to 5” Step1 : Start Step2 : Initialize the value of i as 1 Step3 : Print i and increment the value of i Step 4: Repeat the Step 3 until the value of i <=5. Step 5 : Stop 2/22/2022 40 Karpagam Institute of Technology
  • 41.
    RECURSION • A functionthat calls itself is known as recursive function and the phenomenon is called as recursion. • Algorithm: Write an algorithm to find the factorial of a given number Main Program: Step 1: Start Step 2: Read n Step 3: Call the sub program as f=fact(n) Step 4 : print f value Step 5: Stop Sub Program: Step 1: If n==0 or n==1 return 1 to the main program otherwise go to step 2 Step 2: return n*fact(n-1) to main program 2/22/2022 41 Karpagam Institute of Technology
  • 42.
    FINDING MINIMUM INA LIST Step 1:Start Step 2: Read the list of numbers as L Step 3: Set Min to list[0] Step 4: For each number x in the list L, compare it to min Step 4a: If x is smaller, then assign min to x Step 5: Print min Step 6: Stop 2/22/2022 42 Karpagam Institute of Technology
  • 43.
    GUESS AN INTEGERNUMBER IN A RANGE Step 1: Start Step 2: Generate a random number in between 1 and 100 Step 3: Get the guessed number from the user Step 4:If the random number is equal to the guessed number print guessing is correct. Step 5: Otherwise If the random number is greater than the guessed number print guessing is too high and go to step 7 Step 6: Otherwise print guessing is too high and go to step 7. Step 7: Stop 2/22/2022 43 Karpagam Institute of Technology
  • 44.
    INSERT A CARDIN A LIST OF SORTED CARDS Step 1 - Start Step 2 - Read the list of sorted cards. Step 3 - If it is the first card, it is already sorted. return 1; Step 4 - Pick next card Step 5 - Compare with all cards in the sorted sub-list Step 6- Shift all the cards in the sorted sub-list that is greater than the value of the card to be inserted. Step 5 - Insert the card Step 6 - Repeat until list is sorted. Step 7 - Stop 2/22/2022 44 Karpagam Institute of Technology
  • 45.
    TOWERS OF HANOI •Problem: • Tower of Hanoi is a mathematical puzzle with three rods and ‘n’ number of disks. • These disks are in different sizes and stacked upon in an ascending order, i.e the smaller one sits over the larger one. • The objective is to move all the disks to some another tower without violating the sequence of arrangement. 2/22/2022 45 Karpagam Institute of Technology
  • 46.
    RULES TO BEFOLLOWED • Only one disk can be moved among the towers at any given time. • Only the “top” disk can be removed. • No large disk can sit over a small disk. 2/22/2022 46 Karpagam Institute of Technology
  • 47.
  • 48.
    VIDEO TUTORIAL S.NO TOPICLINK 1 Minimum in a list https://youtu.be/5Y1rxCMY_jU 2 Insert a Card in a list of Sorted Cards https://youtu.be/Mow8rdOKrbY 3 Guess an integer number in a range https://youtu.be/pmDKRJdqT1E 4 Tower of Hanoni https://youtu.be/hKUwLe7bpwo 2/22/2022 48 Karpagam Institute of Technology
  • 49.
    SUMMARY OF UNITI • Algorithm, Flow chart, Pseudo code • Building Blocks of an Algorithm • Algorithmic Problem Solving Technique • Simple Strategies for developing an algorithm • Illustrative Problems for developing an algorithms 2/22/2022 Karpagam Insitute of Technology 49 2/22/2022 49
  • 50.
    ASSIGNMENT QUESTIONS S.NO QUESTIONSBLOOMS LEVEL 1 Apply the rules of an algorithm and pseudocode to find whether the given number is positive, negative and zero. K3 2 Apply the rules of an algorithm and pseudocode to find the factorial of a given number using recursion. K3 3 Write a pseudo code for converting celsius of a given value into fahrenheit. K3 4 Develop a flow chart for performing Towers of Hanoi operation. K5 5 Design a flow chart for calculating simple interest K5 2/22/2022 50 Karpagam Institute of Technology
  • 51.
    QUIZ-TEST YOUR KNOWLEDGE •https://docs.google.com/forms/d/e/1FAIpQLSe crZ0M-AnDkGI5HOSpzjHrHiDacakocv_-u2K s_zul55YF0w/viewform 2/22/2022 Karpagam Insitute of Technology 51 2/22/2022 51
  • 52.
    UNIT II DATA,EXPRESSIONS, STATEMENTS SYLLABUS: Python interpreter and interactive mode; values and types: int, float, boolean, string, and list; variables, expressions, statements, Tuple assignment, precedence of operators, comments; modules and functions, function definition and use, flow of execution, parameters and arguments; Illustrative programs: exchange the values of two variables, circulate the values of n variables, distance between two points. 2/22/2022 52 2/22/2022 52 Karpagam Institute of Technology
  • 53.
    PYTHON INTERPRETER ANDINTERACTIVE MODE INTERACTIVE MODE PROGRAMMING: • Interactive mode is a command line shell which gives immediate feedback for each statement. • In this mode, the prompts for the next command usually have three greater-than signs (>>>). • Example- A sample interactive session: >>> 5 5 >>> print(5*7) 35 >>> "hello" * 4 'hellohellohellohello' 2/22/2022 53 Karpagam Institute of Technology
  • 54.
    PYTHON INTERPRETER ANDINTERACTIVE MODE CONTD.. SCRIPT/INTERPRETER MODE PROGRAMMING • In script mode, execution of the script begins and continues until the script is finished. • Example: 2/22/2022 54 Karpagam Institute of Technology
  • 55.
    VALUES AND TYPES •VALUE – refers to the basic things in a program works which can be like a letter or a number. • TYPE - refers to the data type, which is used to find the type of data. Following are the various basic types of a value: 2/22/2022 55 Karpagam Institute of Technology S.NO TYPES EXAMPLE OF VALUES 1 Int 10,100,-256,789656 2 Float 3.14,2.56789,-21.9 3 Boolean True or False 4 String “Hai” or ‘Hi’ 5 List [0,1,2,3,4] 6 Tuple (0,1,2,3,4) 7 Dictionaries {1: “Hai”, 2: “Welcome”}
  • 56.
    VALUES AND TYPESCONTD.. • INTEGER- it is represented by a whole number. >>>type(3) <type ‘int’> • FLOAT-Numbers with a decimal point >>>type(3.2) <type 'float'> • BOOLEAN-it is represented by TRUE or FALSE >>> bool(1) True >>> bool(0) False >>>type(2>3) <class ‘bool’> 2/22/2022 56 Karpagam Institute of Technology
  • 57.
    VALUES AND TYPESCONTD.. • STRING - values with quotes like single, double, triple >>>type('17') <type 'str'> • LIST- collection of elements in square bracket [ ] >>>a=[1,2,3] >>>type(a) <tupe ‘list’> • TUPLE - collection of elements in paranthesis ( ) >>>a=(1,2,3) >>>type(a) <type ‘tuple’> • DICTIONARY – Collection of elements in curly braces { } with key:value pair >>>a={1: “hai”, 2: “welcome”} >>>type(a) <type ‘dict’> 2/22/2022 57 Karpagam Institute of Technology
  • 58.
    VARIABLES • Variables aredefined as reserved memory locations to store values. Rules for Naming Variables • Variable names can contain letters, symbols like underscore (__) and numbers. • They begin with a letter not numbers. • Both uppercase and lowercase letters are used. • Keywords cannot be used as variable names. • Example for valid identifier • abc, xy12, good_start • Example for non-valid identifier • 12xy, x$y 2/22/2022 58 Karpagam Institute of Technology
  • 59.
    EXPRESSIONS • An expressionis a combination of values, variables, and operators. • Examples: –17 –x –x + 17 2/22/2022 59 Karpagam Institute of Technology
  • 60.
    STATEMENTS • Each andevery instruction or line in the program is called as statements. • Example: A=10 #assignment statement B=20 #assignment statement C=A+B #assignment statement print(C) #print statement Output : 30 #output statement 2/22/2022 60 Karpagam Institute of Technology
  • 61.
    TUPLE ASSIGNMENT • Pythonhas a very powerful tuple assignment feature that allows a tuple of variables on the left of an assignment to be assigned values from a tuple on the right of the assignment. • For example, to swap a and b: a=10 b=20 temp = a a = b b = temp • Tuple assignment solves this problem neatly: (a,b) = (b,a) 2/22/2022 61 Karpagam Institute of Technology
  • 62.
    PRECEDENCE OF OPERATORS ORDEROF OPERATIONS: • When more than one operator appears in an expression, the order of evaluation depends on the rules of precedence. • The acronym PEMDAS is a useful way to remember the rules: – Parentheses have the highest precedence • 2 * (3-1) is 4, and • (1+1)**(5-2) is 8. - Exponentiation has the next highest precedence • 2**1+1 is 3, not 4, and • 3*1**3 is 3, not 27. 2/22/2022 62 Karpagam Institute of Technology
  • 63.
    PRECEDENCE OF OPERATORSCONTD.. • Multiplication and Division have the same precedence, which is higher than Addition and Subtraction, which also have the same precedence. – 2*3-1 is 5, not4, and – 6+4/2 is 8, not 5. • Operators with the same precedence are evaluated from left to right (except exponentiation). – So in the expression degrees / 2 * pi, the division happens first and the result is multiplied by pi. 2/22/2022 63 Karpagam Institute of Technology
  • 64.
    PRECEDENCE OF OPERATORSCONTD.. Operator Description ** Exponentiation raise to the power ~ ,+,- Complement, unary plus and minus *, /, %, // Multiply, divide, modulo and floor division +, - Addition and subtraction >> , << Right and left bitwise shift & Bitwise 'AND' ^, | Bitwise exclusive `OR' and regular `OR' <=, <, >, >= Comparison operators <>, ==, != Equality operators =, %=, /=, //=, -=, +=, *=, **= Assignment operators is, is not Identity operators in, not in Membership operators not or and Logical operators 2/22/2022 64 Karpagam Institute of Technology
  • 65.
    COMMENTS • Comment isa piece of program text that the interpreter ignores but that provides useful documentation to programmers. • Comments start with the # symbol Example: # compute the sum of two numbers C=A+B • In this case, the comment appears on a line by itself. We can also put comments at the end of a line C=A+B #sum of two numbers 2/22/2022 65 Karpagam Institute of Technology
  • 66.
    MODULES AND FUNCTIONS •Module is a file consisting of Python code. • A module can define functions, classes and variables. Example: a="Dora" def print_func(a): print ("Hello : ", a) return print_func(a) Output: Hello : Dora 2/22/2022 66 Karpagam Institute of Technology
  • 67.
    MODULES AND FUNCTIONSCONTD.. • The modules can be imported by the following ways:  The import statement  The from...import Statement  The from...import * Statement 2/22/2022 67 Karpagam Institute of Technology
  • 68.
    MODULES AND FUNCTIONSCONTD.. The import statement • We can use any Python source file as a module by executing an import statement in some other Python source file. • The import has the following syntax, import module1, module2, …….moduleN Example- import math print(math.sqrt(4)) Output 2.0 2/22/2022 68 Karpagam Institute of Technology
  • 69.
    MODULES AND FUNCTIONSCONTD.. The from….import statement • In Python’s from statement, lets us import specific attributes from a module into the current namespace. • The from…import statement has the following syntax, from modname import name1, name2,…nameN Example- moduleAccess.py from sample import a,b print(a.A()) print(b.B()) Output: Hai Hello 2/22/2022 69 Karpagam Institute of Technology a.py def A(): print(“Hai”) b.py def B(): print(“Hello”) sample.py
  • 70.
    MODULES AND FUNCTIONSCONTD.. The from….import* statement • It is also possible to import all names from a module into the current namespace by using the following import statement, from modname import* • This provides an easy way to import all the items from a module into the current namespace. 2/22/2022 70 Karpagam Institute of Technology
  • 71.
    FUNCTION DEFINITION ANDUSE FUNCTION  Function is a block of code, that are executed when it is called.  Function blocks begin with the keyword def followed by the function name and parentheses ( ).  Any input parameters or arguments should be placed within these parentheses.  The code block within every function starts with a colon (:) and is indented.  The statement return [expression] exits a function, optionally passing back an expression to the caller.  A return statement with no arguments is the same as return None. 2/22/2022 71 Karpagam Institute of Technology
  • 72.
    FUNCTION DEFINITION ANDUSE CONTD.. Syntax- def functionname( parameters ): function_suite return[expression] Example- def printme(str): print (str) return 2/22/2022 72 Karpagam Institute of Technology
  • 73.
    FUNCTION DEFINITION ANDUSE CONTD.. USES OF FUNCTION- It makes the program size smaller. It involves the concept of modularity. 2/22/2022 73 Karpagam Institute of Technology
  • 74.
    FLOW OF EXECUTION The order in which statements are executed, which is called the flow of execution.  Execution always begins at the first statement of the program.  Statements are executed one at a time, in order from top to bottom.  During function call, the arguments in the actual parameters are assigned to the formal parameters. 2/22/2022 74 Karpagam Institute of Technology
  • 75.
    FLOW OF EXECUTIONCONTD.. 2/22/2022 75 Karpagam Institute of Technology
  • 76.
    FLOW OF EXECUTIONCONTD.. Example- a=10 b=20 def sum(c,d): e=c+d return e print("Result is :",sum(a,b)) Output: 30 2/22/2022 76 Karpagam Institute of Technology
  • 77.
    PARAMETERS AND ARGUMENTS •Parameters provide the data communication between calling function and called function. Two types:  Actual parameter -This is the argument which is used in function call.  Formal parameter - This is the argument which is used in function definition. 2/22/2022 77 Karpagam Institute of Technology
  • 78.
    PARAMETERS AND ARGUMENTSCONTD.. ARGUMENTS - refers to the value. Types of Arguments  Required arguments  Keyword arguments  Default arguments  Variable-length arguments 2/22/2022 78 Karpagam Institute of Technology
  • 79.
    PARAMETERS AND ARGUMENTSCONTD.. REQUIRED ARGUMENTS  Required arguments are the arguments passed to a function in correct positional order. Example def sum(a,b): c=a+b return c print("Result is:", sum(10,20)) Output: 30 2/22/2022 79 Karpagam Institute of Technology
  • 80.
    PARAMETERS AND ARGUMENTSCONTD.. KEYWORD ARGUMENTS  Here, the caller identifies the arguments by the parameter name. Example def sum(a,b): c=a+b return c print("Result is:", sum(a=10,b=20)) Output: 30 2/22/2022 80 Karpagam Institute of Technology
  • 81.
    PARAMETERS AND ARGUMENTSCONTD.. DEFAULT ARGUMENT:  Default argument is an argument that assumes a default value if a value is not provided in the function call for that argument. Example def sum(a=10,b): c=a+b return c print("Result is:", sum(20)) Output: 30 2/22/2022 81 Karpagam Institute of Technology
  • 82.
    PARAMETERS AND ARGUMENTSCONTD.. VARIABLE-LENGTH ARGUMENT  This is used to process a function with more argument. Syntax for a function with variable length argument, def functionname([formal_args,]*var_args_tuple): function_suite return[expression] 2/22/2022 82 Karpagam Institute of Technology
  • 83.
    PARAMETERS AND ARGUMENTSCONTD.. Example for Variable-length Argument def printinfo( arg1,*vartuple): print ("Output is: ") print ( arg1) for var in vartuple: print (var) return; printinfo(10) printinfo(70,60,50) Output 10 Output 70 60 50 2/22/2022 83 Karpagam Institute of Technology
  • 84.
    EXCHANGE THE VALUEOF TWO VARIABLES With Temporary Variable x = input("Enter value of x:") y = input("Enter value of y:") temp = x x = y y = temp print('The value of x after swapping:',x) print('The value of y after swapping:',y) Output Enter value of x: 67 Enter value of y: 45 The value of x after swapping: 45 The value of y after swapping: 67 2/22/2022 84 Karpagam Institute of Technology
  • 85.
    EXCHANGE THE VALUEOF TWO VARIABLES CONTD.. Without Temporary Variable x = input("Enter value of x:") y = input("Enter value of y:") x= x + y y = x - y x = x - y print('The value of x after swapping:',x) print('The value of y after swapping:',y) Output Enter value of x: 67 Enter value of y: 45 The value of x after swapping: 45 The value of y after swapping: 67 2/22/2022 85 Karpagam Institute of Technology
  • 86.
    CIRCULATE THE VALUESOF N NUMBERS def circulate(A,N): for i in range of(0,N): j=len(A)-1 while j>0: temp=A[j] A[j]=A[j-1] A[j-1]=temp j=j-1 print(‘Circulationt’,A) return A=[91,92,93,94,95] n=int(input(“Enter n:”)) circulate(A,n) Output n=2 Circulation 95,91,92,93,94 Circulation 94,95,91,92,93 2/22/2022 86 Karpagam Institute of Technology
  • 87.
    DISTANCE BETWEEN TWOPOINTS import math x1=int(input("Enter the X-Coordinate of first point")) y1=int(input("Enter the Y-Coordinate of first point")) x2=int(input("Enter the X-Coordinate of Second point")) y2=int(input("Enter the Y-Coordinate of Second point")) distance = math.sqrt( ((x1-x2)**2)+((y1-y2)**2) ) print(distance) Output Enter the X-Coordinate of first point 4 Enter the Y-Coordinate of first point 0 Enter the X-Coordinate of Second point 6 Enter the Y-Coordinate of Second point 6 6.324555320336759 2/22/2022 87 Karpagam Institute of Technology
  • 88.
    VIDEO TUTORIAL S.No TopicLink 1 Interpreter and Interactive mode https://youtu.be/3lvgY5V8494 2 Operator and it's types with their Precedence https://youtu.be/ljaw6cUobtU 3 Circulate the value of n numbers using slicing operator https://youtu.be/1Y46EaJAQ4c 4 Distance between two points https://youtu.be/qeZ5kiKJe7c 2/22/2022 88 Karpagam Institute of Technology
  • 89.
    SUMMARY  Python Interpreterand Interactive mode  Values and Data types  Operators and its Precedence  Modules and Functions  Function Parameters and Arguments  Illustrative Problems 2/22/2022 89 Karpagam Institute of Technology
  • 90.
    ASSIGNMENT QUESTIONS S.No QuestionsBlooms Level 1 Write a Python programs to check whether the given number is palindrome or not K3 2 Apply the concept of Modules for airlines system K3 3 Distinguish between Interpreter mode and Interactive mode K4 4 Develop a Python program for finding Fibonacci sequence of n numbers using function with recursion K5 2/22/2022 90 Karpagam Institute of Technology
  • 91.
    QUIZ - TESTYOUR KNOWLEDGE • https://forms.gle/uP745eEsYzko6Y2U9 2/22/2022 91 Karpagam Institute of Technology
  • 92.
    UNIT III CONTROLFLOW, FUNCTIONS SYLLABUS Conditionals: Boolean values and operators, conditional (if), alternative (if-else), chained conditional (if-elif-else); Iteration: state, while, for, break, continue, pass; Fruitful functions: return values, parameters, local and global scope, function composition, recursion; Strings: string slices, immutability, string functions and methods, string module; Lists as arrays. Illustrative programs: square root, gcd, exponentiation, sum an array of numbers, linear search, binary search. 2/22/2022 92 Karpagam Insitute of Technology 2/22/2022 92
  • 93.
    BOOLEAN EXPRESSION A Booleanexpression is a expression that results in either true or false. It uses the == operator which compares two operands and procedures true if both are equal otherwise false. 93 Karpagam Institute of Technology 2/22/2022
  • 94.
    CONTROL FLOW • Itis a statement that determines the control flow of a set of instructions., (ie) it decides the sequence in which the instructions in a program are to be executed. • It can either comprise of one or more instructions. Three fundamental control statements are  Sequential  Selection  Iterative control 94 Karpagam Institute of Technology 2/22/2022
  • 95.
    TYPES OF DECISIONCONTROL STATEMENTS 95 Karpagam Institute of Technology 2/22/2022
  • 96.
    SELECTION OR CONDITIONALBRANCHING STATEMENT • The decision control statements usually jumps from one part of the code to another depending on whether a particular condition is satisfied or not. • Python selection statements are:  If statement  If-else statement  If-elif-else statement  Nested-if statement 96 Karpagam Institute of Technology 2/22/2022
  • 97.
    ITERATIVE STATEMENTS • Iterativestatements are decision control statements that are used to repeat the execution of a list of statements. The following are the types of iterative statements.  while loop  for loop 97 Karpagam Institute of Technology 2/22/2022
  • 98.
    WHILE LOOP • Thewhile loop provides a mechanism to repeat one or more statements while a particular condition is true. • Syntax: Statement X while (condition): Statements block 98 Karpagam Institute of Technology 2/22/2022
  • 99.
    FLOWCHART FOR WHILELOOP 99 Karpagam Institute of Technology 2/22/2022
  • 100.
    EXAMPLE FOR WHILELOOP num = 1 while num < 10: print(num) num = num + 3 Ouput: 1 4 7 100 Karpagam Institute of Technology 2/22/2022
  • 101.
    EXAMPLE FOR WHILELOOP WITH ELSE STATEMENT num = 10 while num > 6: print(num) num = num-1 else: print("loop is finished") Output: 10 9 8 7 loop is finished 101 Karpagam Institute of Technology 2/22/2022
  • 102.
    FOR LOOP • Itprovides a mechanism to repeat a task until a particular condition is true. • It is known as determinate or definite loop because the programmer knows exactly how many times the loop will repeat. Syntax 1: for loop_control_var in sequence: Statement block 102 Karpagam Institute of Technology 2/22/2022
  • 103.
    FOR LOOP CONTD.. Syntax2: for variable in range(beg,end,[step]): Statements 103 Karpagam Institute of Technology 2/22/2022
  • 104.
    FLOWCHART OF FORLOOP 104 Karpagam Institute of Technology 2/22/2022
  • 105.
    EXAMPLE OF FORLOOP numbers = [1, 2, 4, 6, 11, 20] sq = 0 for val in numbers: sq = val * val print(sq) 105 Karpagam Institute of Technology 2/22/2022 Output: 1 4 16 36 121 400
  • 106.
    RANGE( ) INFOR LOOP • range(n): generates a set of whole numbers starting from 0 to (n-1). For example: range(8) is equivalent to [0, 1, 2, 3, 4, 5, 6, 7] • range(start, stop): generates a set of whole numbers starting from start to stop-1. For example: range(5, 9) is equivalent to [5, 6, 7, 8] 106 Karpagam Institute of Technology 2/22/2022
  • 107.
    RANGE( ) INFOR LOOP CONTD.. • range(start, stop, step_size): The default step_size is 1 which is why when we didn’t specify the step_size, the numbers generated are having difference of 1. However by specifying step_size we can generate numbers having the difference of step_size. For example: range(1, 10, 2) is equivalent to [1, 3, 5, 7, 9] 107 Karpagam Institute of Technology 2/22/2022
  • 108.
    EXAMPLE OF FORLOOP WITH RANGE( ) sum = 0 for val in range(1, 6): sum = sum + val print(sum) Output: 15 108 Karpagam Institute of Technology 2/22/2022
  • 109.
    EXAMPLE OF FORLOOP WITH ELSE BLOCK for val in range(5): print(val) else: print("The loop has completed execution") Output: 0 1 2 3 4 The loop has completed execution 109 Karpagam Institute of Technology 2/22/2022
  • 110.
    BREAK STATEMENT • Thebreak statement is used to terminate the execution of the loop. • When a compiler encounters a break statement, the control passes to the statement that follows the loop in which the break statement appears. • Syntax:- break 110 Karpagam Institute of Technology 2/22/2022
  • 111.
    FLOWCHART FOR BREAKSTATEMENT 111 Karpagam Institute of Technology 2/22/2022
  • 112.
    EXAMPLE FOR BREAKSTATEMENT # program to display all the elements before number 88 for num in [11, 9, 88, 10, 90, 3, 19]: print(num) if(num==88): print("The number 88 is found") print("Terminating the loop") break 112 Karpagam Institute of Technology 2/22/2022 Output:- 11 9 88 The number 88 is found Terminating the loop
  • 113.
    CONTINUE STATEMENT • Thecontinue statement can only appear in the body of a loop. • When a compiler encounters a continue statement, then the rest of the statement s in the loop are skipped and the control is unconditionally transferred to the loop-continuation portion of the nearest loop. • Syntax: continue 113 Karpagam Institute of Technology 2/22/2022
  • 114.
    FLOWCHART FOR CONTINUESTATEMENT 114 Karpagam Institute of Technology 2/22/2022
  • 115.
    EXAMPLE FOR CONTINUESTATEMENT # program to display only odd numbers for num in [20, 11, 9, 66, 4, 89, 44]: if (num%2 == 0): continue print(num) 115 Karpagam Institute of Technology 2/22/2022 Output 11 9 89
  • 116.
    PASS STATEMENT • Thepass statement acts as a placeholder and usually used when there is no need of code but a statement is still required to make a code syntactically correct. • Example:- for num in [20, 11, 9, 66, 4, 89, 44]: if num%2 == 0: pass else: print(num) Output: 11 9 89 116 Karpagam Institute of Technology 2/22/2022
  • 117.
    STRINGS • String isa sequence of characters. • String may contain alphabets, numbers and special characters. • String value must be enclosed within either single quotes or within double quotes. • String is immutable in nature. (i.e)., once created cannot be able to edit when it is stored in a variable. Example: Letter = “A” Name = ‘python’ 117 Karpagam Institute of Technology 2/22/2022
  • 118.
    READING STRING VALUEFROM THE USER: • Using input( ) function we can read string value from the user. Syntax: Variable_name=input(“Enter the values”) Example: Name=input(“Enter the name”) print(“Welcome”,name) Output: Enter the name: python Welcome python 118 Karpagam Institute of Technology 2/22/2022
  • 119.
    INDEX OPERATION: • Eachcharacter can be accessed through index operator. Syntax: String_variable_name[index] • Index value starts at zero and last index value is(length of the string-1) Example: 119 Karpagam Institute of Technology 2/22/2022
  • 120.
  • 121.
    CONCATENATION OF TWOOR MORE STRINGS • Joining of two or more strings into a single one is called concatenation. Syntax: String2=string1+string2 Example: str1 = 'Hello' str2 ='World!' print('str1 + str2 = ', str1 + str2) Output: Hello World! 121 Karpagam Institute of Technology 2/22/2022
  • 122.
    REPETITION OPERATOR(*): • Itis used to concatenate the same string multiple times. Syntax: String2=String1*integer value Example: str1 = 'Hello' print('str1 * 3 =', str1 * 3) Output: HelloHelloHello 122 Karpagam Institute of Technology 2/22/2022
  • 123.
    STRING SLICING • Slicingoperations is used to select/return /slice the particular substring based on user requirements. • A segment of the string is called slice. Syntax: String_variable_name[start:end:step value] • Here all the parameters/variables are optional • The default value for start is zero and end is end-1 • The default value for step is 1. 123 Karpagam Institute of Technology 2/22/2022
  • 124.
    EXAMPLE FOR STRINGSLICING var1 = 'Hello World!’ var2 = "Python Programming" print "var1[0]: ", var1[0] print "var2[1:5]: ", var2[1:5] Output: H ytho 124 Karpagam Institute of Technology 2/22/2022
  • 125.
    STRING COMPARISON: • Wecan compare two strings by using comparison operators such as ==,!=,<,<=,>,>=. • Python compares strings based on their corresponding ASCII values. • For ‘a’ASCII value is 97 and ‘A’ASCII value is 65. 125 Karpagam Institute of Technology 2/22/2022
  • 126.
    EXAMPLE FOR STRINGCOMPARISON str1=”green” str2=”glow” print(“is both string are equal:”, str1==str2) print(“is both string are not equal:”, str1!=str2) print(“is str1>str2:”,str1>str2) print(“is str1>str2:”,str1<str2) 126 Karpagam Institute of Technology 2/22/2022 Output:- is both string are equal:False is both string are not equal:True is str1>str2:True is str1>str2:False
  • 127.
    STRING ITERATION: • Wecan us for loop to traverse all the characters in the string sequentially. • Syntax1: for var_name in string_varaible_name: statements • Syntax2: for var_name in range(initial, final,step value): statements 127 Karpagam Institute of Technology 2/22/2022
  • 128.
    PROGRAM TO COUNTTHE NUMBER OF CHARACTERS IN A STRING str=input(“enter any string:”) count=0 for letter in str: if(letter): count=count+1 print(“total number of characters in string is:”, count) Output: Enter any string:python Total number of characters in string is:6 128 Karpagam Institute of Technology 2/22/2022
  • 129.
    COUNT THE NUMBEROF CHARACTERS IN A STRING USING RANGE FUNCTION str=input(“enter any string:”) count=0 for letter in range(0,len(str)+1,1): if(letter): count=count+1 print(“total number of characters in string is:”, count) Output: Enter any string: python Total number of characters in string is:6 129 Karpagam Institute of Technology 2/22/2022
  • 130.
    STRING IMMUTABILITY • Stringsare immutable in nature. • We cannot edit the string value once it is assigned to variable. • If we try to assign or replace a value in the string, it displays an error message that str is not a mutable object. Program: str= “welcome” print(str[3]) str[3]= “c”# assigning value c to index 3 place print(str) Output: c Traceback (most recent call last): str[3]=”c’# assigning value c to index 3 place TypeError:’str’ object does not support item assignment 130 Karpagam Institute of Technology 2/22/2022
  • 131.
    STRING MODULES • Stringmodules contain a number of functions to process standard python string. • This can be done by importing string function. Syntax: import string 131 Karpagam Institute of Technology 2/22/2022
  • 132.
    LIST AS ARRAY: •Array is a collection of similar data items that are stored under a common name. • Python is not providing array data type rather than it provides a LIST. Implementing array in python one-dimensional list: • Arrays can be implemented as one dimensional list. • Ex: Price_list=[70,80,90,93.5,30.456] 132 Karpagam Institute of Technology 2/22/2022
  • 133.
    MINIMUM VALUE INTHE LIST WITHOUT USING INBUILT FUNCTION: price_list=[70,80,90,93.5,30.456] min=price_list[0] for min_value in price_list: if min>min_value: min=min_value print(“minimum value in the list is:”,min) OUTPUT: minimum value in the list is:34.56 133 Karpagam Institute of Technology 2/22/2022
  • 134.
    IMPLEMENTING ARRAY INPYTHON AS TWO- DIMENSIONAL LIST: Example: Two_dim_array_list=[[1,2],[3,4]] Program: two_dim=[[1,2],[3,4]] print(“original 2 dimensional list:”) for i in range(len(two_dim)): for j in range(len(two_dim[i])): print(two_dim[i][j],end=“”) print(“n”) 134 Karpagam Institute of Technology 2/22/2022
  • 135.
    SQUARE ROOT OFAGIVEN NUMBER: num=float(input("Enter a Number")) num_sqrt=num**0.5 print("The square root of %0.3f is %0.3f"%(num,num_sqrt)) Output-- 135 Karpagam Institute of Technology 2/22/2022
  • 136.
    GCD OF TWONUMBERS def gcd(a, b): if(b==0): return a else: return gcd(b, a%b) a=int(input("Enter First number")) b=int(input("Enter Second number")) GCD=gcd(a, b) print("GCD is:") print(GCD) 2/22/2022 136 Karpagam Institute of Technology
  • 137.
    EXPONENTIATION import math #This will import math module print ("math.pow(100,2): ", math.pow(100,2)) print ("math.pow(100,-2): ",math.pow(100,-2)) print ("math,pow(2,4): ",math.pow(2,4)) print ("math.pow(3,0): ",math.pow(3,0)) 137 Karpagam Institute of Technology 2/22/2022
  • 138.
    SUM AN ARRAYNUMBERS def listsum(numlist): sum=0 for i in numberlist: sum=sum+i return sum print(listsum([1,3,5,9])) Output: 18 138 Karpagam Institute of Technology 2/22/2022
  • 139.
    LINEAR SEARCH my_data=[89,45,9,21,34] num=int(input(“Enter searchnum:”)) for i in range (0, len(my_data)): if num==my_data[i]: print(“Item is located at position=,”i) else: print(“Item not found”) 139 Karpagam Institute of Technology 2/22/2022
  • 140.
    BINARY SEARCH list=[10,20,30,40] x=int(input(“Enter theelement to search:”) first=0 last=len(list-1) while(first<=last): mid=(first+last)//2 if(x==list[mid]): print(“The element is found at the index:”,mid) break elif(x<list[mid]): last=mid-1 else: first=mid+1 else: print(“The element is not found in the list”) 140 Karpagam Institute of Technology 2/22/2022
  • 141.
    VIDEO TUTORIAL S.NO TOPICLINK 1 Boolean Values and Operators https://youtu.be/7vy_GffZZTg 2 Loops in Python https://www.youtube.com/watch?v= zFvoXxeoosI 3 Fruitful Functions https://youtu.be/hMGc19ZYzDM 4 Strings in Python https://www.youtube.com/watch?v= QGLNQwfTO2w 5 Linear Search https://youtu.be/fHMXsGkN5cg 2/22/2022 141 Karpagam Institute of Technology
  • 142.
    SUMMARY • Python branchingstatements • Python looping statements • Strings and its methods. • Illustrative Programs 2/22/2022 Karpagam Institute of Technology 142
  • 143.
    ASSIGNMENT QUESTIONS S.NO QUESTIONSBLOOMS LEVEL 1 Write a Python program to check whether a given number is a perfect number K3 2 Write a Python program to calculate the number of words and number of characters present in a string K3 3 Write a Python code to count the occurrences of each word in a given string sequence K3 4 Develop a Python code to check whether a string is palindrome or not K5 5 Develop a Python program to detect whether two strings are anagrams K5 2/22/2022 143 Karpagam Institute of Technology
  • 144.
    QUIZ-TEST YOUR KNOWLEDGE •https://docs.google.com/forms/d/e/1FAIpQLSc Yn1TS4wfhudU0CgVwuCGlEZPQmchmz1_l av0Q2oiONI8Gbw/viewform 2/22/2022 Karpagam Institute of Technology 144
  • 145.
    THANK YOU 2/22/2022 KarpagamInsitute of Technology 145 2/22/2022 145