Gaddis Python 4e Chapter 03 PPT-1.pdf

Full Transcript

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 St...

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) elif condition_3: statement(s) else statement(s) Copyright © 2018 Pearson Education, Ltd. Insert as many elif clauses as necessary. 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 • Truth table for the and operator Copyright © 2018 Pearson Education, Ltd. Expression false And false false false And true false true And false false true And true true 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 • Truth table for the or operator Copyright © 2018 Pearson Education, Ltd. Expression false OR false false false OR true true true OR false true true OR true true 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.

Use Quizgecko on...
Browser
Browser