0% found this document useful (0 votes)
78 views27 pages

Loops and Conditionals: HORT 59000 Instructor: Kranthi Varala

Loops and conditionals allow programmers to control the flow of code execution. Relational and boolean operators are used to compare values and determine conditional logic. Common loop types include for and while loops, which iterate over sequences and check exit conditions. Nested loops enable iterating over multi-dimensional data structures. Care must be taken to ensure loops terminate to avoid infinite looping.

Uploaded by

Jashwanth Sangu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
78 views27 pages

Loops and Conditionals: HORT 59000 Instructor: Kranthi Varala

Loops and conditionals allow programmers to control the flow of code execution. Relational and boolean operators are used to compare values and determine conditional logic. Common loop types include for and while loops, which iterate over sequences and check exit conditions. Nested loops enable iterating over multi-dimensional data structures. Care must be taken to ensure loops terminate to avoid infinite looping.

Uploaded by

Jashwanth Sangu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Loops and

Conditionals
HORT 59000
Lecture 11
Instructor: Kranthi Varala
Relational Operators
• These operators compare the value of two
‘expressions’ and returns a Boolean value.

• Beware of comparing across data types,


especially when reading values in from
command line or files.
Relational Operators
== equal True if expressions are equal
!= not equal True if expressions are not equal
> Greater than True if left is greater than the right
< Less than True if left is less than the right
>= greater than OR equal
<= less than OR equal

is identity True if the left is the same object as right


in contains True if the object on left is contained in
object on right (Useful for finding values in list)
Assignment Operators
• A += B increase A by value of B
• A -= B decrease A by value of B
• A *= B multiply A by B and assign value to A
• A /= B divide A by B and assign value to A
• A **=B raise value of A to the power of B
• A %= B modulus of A by B, assigned to A
• A //= B floor of A divided by B, assigned to A

• String context:
• S1 += S2 add string on right to the one on left
• S1 *= A Make A copies of S1 and concatenate them to S1
Boolean Operators
Combines two or more statements that return a Boolean value.
A and B True if both A and B are true
A or B True if either A or B is true
not A reverse the Boolean given by A
xor(A,B) True if only one of A or B is True

A B A and B A or B Not A xor(A,B)


TRUE TRUE TRUE TRUE FALSE FALSE
TRUE FALSE FALSE TRUE FALSE TRUE
FALSE TRUE FALSE TRUE TRUE TRUE
FALSE FALSE FALSE FALSE TRUE FALSE
General Python Syntax rules
• End of line is end of statement
• Statements at the same indentation level are in
the same block (e.g., within a loop or condition)
• End of indentation
• Exceptions:
• Semi colon ; separates statements on the same line

• Single line blocks are allowed without indentation


Branching logic
• Used to implement alternate paths for the logic
flow.

https://upload.wikimedia.org/wikipedia/commons/4/44/LampFlowchart.png
If/elif/else statements
if test1:
statement 1
elif test2:
statement 2
else:
statement 3
• Both the elif and else blocks are optional.
If/elif/else statements
Lamp flowchart with if/else

Accepts input
from user, as
a string
Truth and Boolean tests in Python
• All objects in python have an inherent true or
false value.
• Any nonempty object is true.
• For Integers : Any non-zero number is true
• Zero, empty objects and special object ‘None’
are false.
• Comparisons return the values True or False
Loops/Iterations
• A loop is syntax structure that repeats all the
statements within the loop until the exit
condition is met.
• Statements in a loop are defined by indenting
them relative to the loop start.
• Loop ends when indentation ends.
• Python has two forms of loops: for loop and
while loop.
• E.g. >>> for x in range(10)
• E.g. >>>while (A==10)
while loops
• while condition:
statement 1
statement 2
.
.

• Most generic form of loop, that checks whether the


condition is true at the start of each iteration.
• Expects the condition to become false at some
point during the iterations of the loop.
• If condition is never changed, this creates an
‘infinite’ loop. i.e., the program will get stuck in this
loop for ever.
Example while loops
Altering while loops
• Normal loop control will execute all statements
in block on every iteration. Loop ends only
when exit condition is met.
• break statement forces the current loop to exit.
• continue statement skips the rest of the block
and goes to the next iteration of the loop.
• pass statement is a placeholder for empty
blocks.
Altering while loops
for loops
• for item in sequence:
statement 1
statement 2
.
.

• Generic iterator for items in a ordered sequence


such as lists, tuples etc.
• On each iteration retrieves one item from the list
and assigns it to the variable specified.
• Automatically moves to the next item in the order.
• Value of variable may be altered within the for
loop, but change is not made in the list.
for loops
Looping over Strings and Lists
• List is a general sequence object while String
is a character sequence object.
• Both can be iterated over by a for loop:
Looping over lists with and without index

• Looping with an index allows accessing the


item within the list and changing it.
Looping over Tuples and Dictionaries
Nested Loops
• Loops can be nested just like the if/else statements.

• Indentation is again the key to creating nested loops.

• In a 2 level nested loop with x iterations on the outer


loop and y iterations in the inner loop:
• All statements in the outer loop will be executed x times
• All statements in the inner loop will be executed x*y times
MultiDimensional Lists
my2DList = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]

0 1 2 3
my2DList

0 1 5 9 13

1 2 6 10 14

2 3 7 11 15

3 4 8 12 16
MultiDimensional Lists
my2DList = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
for x in range(len(my2DList)):
insideList=my2DList[x]

0 1 2 3
my2DList

0 1 5 9 13

1 2 6 10 14

2 3 7 11 15

3 4 8 12 16
MultiDimensional Lists
my2DList = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
for x in range(len(my2DList)):
for y in range(len(my2DList[x])):
print my2DList[x][y]
0 1 2 3
my2DList

0 1 5 9 13

1 2 6 10 14

2 3 7 11 15

3 4 8 12 16
Arbitrary dimensional Lists
subL = [[’p’,’q’],[‘r’,’s’]]
my2DList = [[1,2,3,’a’],[5,6,7,’cat’],[9,10,’e’,12],[’beta’,14,15,subL]]

0 1 2 3 Loop1
my2DList

0 1 5 9 beta

1 2 6 10 14
Loop3
Loop2 0 1
2 3 7 e 15
0 p q

3 a cat 12 1 r s
Summary: Conditions and loops

• Conditional statements with the proper comparison and


boolean operators allow the creation of alternate
execution paths in the code.
• Loops allow repeated execution of the same set of
statements on all the objects within a sequence.
• Using an index based for loop is best suited for making
changes to items within a list.
• Always ensure that your exit condition will be met.

You might also like