consider the following program that prints "evenif the value of the variable is even and "oddotherwiseif % = print 'evenelseprint 'oddprint 'done with conditionalthe expression % = evaluates to true when the remainder of divided by is and false otherwise remember that =is used for comparisonsince is reserved for assignment indentation is semantically meaningful in python for exampleif the last statement in the above code were indented it would be part of the block of code associated with the elserather than with the block of code following the conditional statement python is unusual in using indentation this way most other programming languages use some sort of bracketing symbols to delineate blocks of codee encloses blocks in bracesan advantage of the python approach is that it ensures that the visual structure of program is an accurate representation of the semantic structure of that program when either the true block or the false block of conditional contains another conditionalthe conditional statements are said to be nested in the code belowthere are nested conditionals in both branches of the top-level if statement if % = if % = print 'divisible by and elseprint 'divisible by and not by elif % = print 'divisible by and not by the elif in the above code stands for "else if it is often convenient to use compound boolean expressions in the test of conditionalfor exampleif and zprint ' is leastelif zprint ' is leastelseprint ' is leastconditionals allow us to write programs that are more interesting than straightline programsbut the class of branching programs is still quite limited one way to think about the power of class of programs is in terms of how long they can take to run assume that each line of code takes one unit of time to execute if straight-line program has lines of codeit will take units of time to run what about branching program with lines of codeit might take less than units of time to runbut it cannot take moresince each line of code is executed at most once