0% found this document useful (0 votes)
16 views

Gaddis Python 4e Chapter 03 PPT

Jodldmdm dnkdlrkdkd dkdokdnrbrjr

Uploaded by

trmitwitf 1
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)
16 views

Gaddis Python 4e Chapter 03 PPT

Jodldmdm dnkdlrkdkd dkdokdnrbrjr

Uploaded by

trmitwitf 1
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/ 30

CHAPTER 3

Decision
Structures and
Boolean Logic

Copyright © 2018 Pearson Education, Ltd.


Topics
• The if Statement
• The if-else Statement
• Comparing Strings
• Nested Decision Structures and the if-elif-else
Statement
• Logical Operators
• Boolean Variables
• Turtle Graphics: Determining the State of the Turtle

Copyright © 2018 Pearson Education, Ltd.


The if Statement
• Control structure: logical design that
controls order in which set of
statements execute
• Sequence structure: set of statements
that execute in the order they appear
• Decision structure: specific action(s)
performed only if a condition exists
• Also known as selection structure

Copyright © 2018 Pearson Education, Ltd.


The if Statement (cont’d.)
• In flowchart, diamond represents
true/false condition that must be tested
• Actions can be conditionally executed
• Performed only when a condition is true
• Single alternative decision structure:
provides only one alternative path of
execution
• If condition is not true, exit the structure

Copyright © 2018 Pearson Education, Ltd.


The if Statement (cont’d.)

Copyright © 2018 Pearson Education, Ltd.


The if Statement (cont’d.)
• Python syntax:
if condition:
Statement
Statement
• First line known as the if clause
• Includes the keyword if followed by condition
• The condition can be true or false
• When the if statement executes, the condition is
tested, and if it is true the block statements are
executed. otherwise, block statements are skipped
Copyright © 2018 Pearson Education, Ltd.
• a=10
• if a>5:
• print(“you are pass”)

Copyright © 2018 Pearson Education, Ltd.


Boolean Expressions and
Relational Operators
• Boolean expression: expression tested
by if statement to determine if it is true
or false
• Example: a > b
• true if a is greater than b; false otherwise
• Relational operator: determines
whether a specific relationship exists
between two values
• Example: greater than (>)
Copyright © 2018 Pearson Education, Ltd.
Boolean Expressions and
Relational Operators (cont’d.)
• >= and <= operators test more than one
relationship
• It is enough for one of the relationships to
exist for the expression to be true
• == operator determines whether the
two operands are equal to one another
• Do not confuse with assignment operator (=)
• != operator determines whether the
two operands are not equal
Copyright © 2018 Pearson Education, Ltd.
Boolean Expressions and Relational Operators
(cont’d.)
x=7
y=5

Copyright © 2018 Pearson Education, Ltd.


Boolean Expressions and
Relational Operators (cont’d.)
• Using a Boolean expression with the >
relational operator

Copyright © 2018 Pearson Education, Ltd.


Boolean Expressions and
Relational Operators (cont’d.)
• Any relational operator can be used in
a decision block
• Example: if balance == 0
• Example: if payment != balance
• It is possible to have a block inside
another block
• Example: if statement inside a function
• Statements in inner block must be indented
with respect to the outer block
Copyright © 2018 Pearson Education, Ltd.
The if-else Statement
• Dual alternative decision structure: two
possible paths of execution
– One is taken if the condition is true, and the
other if the condition is false
• Syntax: if condition:
statements
else:
other statements
• if clause and else clause must be aligned
• Statements must be consistently indented
Copyright © 2018 Pearson Education, Ltd.
The if-else Statement
(cont’d.)

Copyright © 2018 Pearson Education, Ltd.


The if-else Statement
(cont’d.)

Copyright © 2018 Pearson Education, Ltd.


Comparing Strings
• Strings can be compared using the ==
and != operators
• String comparisons are case sensitive
• Strings can be compared using >, <, >=,
and <=
• Compared character by character based on
the ASCII values for each character
• If shorter word is substring of longer word,
longer word is greater than shorter word
Copyright © 2018 Pearson Education, Ltd.
Comparing Strings (cont’d.)

Copyright © 2018 Pearson Education, Ltd.


Nested Decision Structures and
the if-elif-else Statement
• A decision structure can be nested
inside another decision structure
• Commonly needed in programs
• Example:
• Determine if someone qualifies for a loan, they
must meet two conditions:
• Must earn at least $30,000/year
• Must have been employed for at least two years
• Check first condition, and if it is true, check second
condition

Copyright © 2018 Pearson Education, Ltd.


Copyright © 2018 Pearson Education, Ltd.
Nested Decision Structures and the
if-elif-else Statement (cont’d.)
• Important to use proper indentation in a
nested decision structure
• Important for Python interpreter
• Makes code more readable for programmer
• Rules for writing nested if statements:
• else clause should align with matching if clause
• Statements in each block must be consistently
indented

Copyright © 2018 Pearson Education, Ltd.


The if-elif-else Statement
• if-elif-else statement: special version of
a decision structure
• Makes logic of nested decision structures simpler to
write
• Can include multiple elif statements
• Syntax: if condition_1:
statement(s)
elif condition_2:
statement(s) Insert as many elif clauses
elif condition_3: as necessary.
statement(s)
else
statement(s)

Copyright © 2018 Pearson Education, Ltd.


The if-elif-else Statement
(cont’d.)
• Alignment used with if-elif-else
statement:
• if, elif, and else clauses are all aligned
• Conditionally executed blocks are consistently
indented
• if-elif-else statement is never required,
but logic easier to follow
• Can be accomplished by nested if-else
• Code can become complex, and indentation can cause
problematic long lines

Copyright © 2018 Pearson Education, Ltd.


Copyright © 2018 Pearson Education, Ltd.
Logical Operators
• Logical operators: operators that can
be used to create complex Boolean
expressions
• and operator and or operator: binary
operators, connect two Boolean expressions
into a compound Boolean expression
• not operator: unary operator, reverses the
truth of its Boolean operand

Copyright © 2018 Pearson Education, Ltd.


The and Operator
• Takes two Boolean expressions as
operands
• Creates compound Boolean expression that is
true only when both sub expressions are true
• Can be used to simplify nested decision
structures Expression Value of the
Expression
• Truth table for false and false false
the and operator false and true false
true and false false
true and true true
Copyright © 2018 Pearson Education, Ltd.
The or Operator
• Takes two Boolean expressions as
operands
• Creates compound Boolean expression that is
true when either of the sub expressions is true
• Can be used to simplify nested decision
structures Expression Value of the
Expression
• Truth table for false and false false
the or operator false and true true
true and false true
true and true true
Copyright © 2018 Pearson Education, Ltd.
Short-Circuit Evaluation
• Short circuit evaluation: deciding the
value of a compound Boolean
expression after evaluating only one
sub expression
• Performed by the or and and operators
• For or operator: If left operand is true, compound
expression is true. Otherwise, evaluate right
operand
• For and operator: If left operand is false,
compound expression is false. Otherwise, evaluate
right operand
Copyright © 2018 Pearson Education, Ltd.
The not Operator
• Takes one Boolean expressions as
operand and reverses its logical value
• Sometimes it may be necessary to place
parentheses around an expression to clarify
to what you are applying the not operator
• Truth table for the not operator
Expression Value of the Expression
true false
false true

Copyright © 2018 Pearson Education, Ltd.


Checking Numeric Ranges
with Logical Operators
• To determine whether a numeric value
is within a specific range of values, use
and
Example: x >= 10 and x <= 20
• To determine whether a numeric value
is outside of a specific range of values,
use or
Example: x < 10 or x > 20

Copyright © 2018 Pearson Education, Ltd.


Boolean Variables
• Boolean variable: references one of two
values, True or False
• Represented by bool data type
• Commonly used as flags
• Flag: variable that signals when some
condition exists in a program
• Flag set to False à condition does not exist
• Flag set to True à condition exists

Copyright © 2018 Pearson Education, Ltd.

You might also like