decision structures and boolean variables. sequence structures thus far, we’ve been programming...

Post on 29-Jan-2016

229 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Decision Structures and Boolean Variables

Sequence Structures

• Thus far, we’ve been programming “sequence structures”

• That just means that the program will execute the statements in the order in which they appear in the source code

• We would now like for programs to deviate from the linear structure to adapt according to conditions being met, or not met

Calculating Overtime

• For instance, if an employee works more than 40 hours in a week, he/she is entitled to overtime pay

• Overtime pay is calculated at the rate of 1.5 times the normal hourly rate

• The additional rate is only applied to the hours worked above 40 hours

Calculating Overtime

• Input: hourly rate of pay

• Input: number of hours worked in a week

• If hours worked is less than 40, simply multiply hours worked by hourly rate

• If hours worked is greater than 40: • Multiply hourly rate by 40

• Subtract 40 from hours worked

• Multiply overtime hours by 1.5 times hourly rate

• Add overtime pay to base pay

Calculating Overtime

• Currently, we don’t know enough on Python to deviate from a linear sequence structure

• We cannot account for when the user inputs a total amount of hours worked that is above 40 to pay for overtime

The Selection Statement

• Allows program to “ask a question” and respond accordingly

• Simplest form: perform an action only if a certain condition is met

• If the condition is not met, then the action is not performed (we will learn how to accommodate for non-met conditions with a separate action later on)

The Selection Statement

• In this program, we start by asking a question, “is it cold outside?”

• If the answer is yes (aka “True”) then we execute an alternate set of commands

• Otherwise, we continue with the program as-is

The Selection Statement

• Python will read your inputs of “yes” and “no” as holding the values of “True” or “False”

The Selection Statement

• In Python, we use the keyword “if” to start a selection statement

• We must also use colons to end the selection statement

• The block of code reserved to execute if and only if the condition is met, must be indented within the selection statement (nested structure)

Boolean Expressions

WRITING A CONDITION

Writing a condition

• Python doesn’t read the way you would, so you can’t write your conditions as questions like, “Is it cold outside?”

• The key is to write a selection statement in a way Python might understand and that matches the question you are trying to ask

• All selection statements must have a condition to be “tested” as either True or False

• Think about asking questions that can be answered using “yes” or “no”

Boolean Expressions

Boolean Expressions• Named after George Boole, a 19th

century English philosopher and mathematician

• Boole developed a system of mathematics that allows us to work with the concepts of “True” or “False”

• Boole is considered one of the founders of modern computer science, as his work is reflected in the way computers process binary data

Boolean Expressions

• Boolean expressions can be used as the condition of an “if” selection statement

• They are generally formed using “relational operators” which allow you to test whether a specific relationship exists between two (or more) values

Relational Operators

•A > B # A is greater than B

•A < B # A is less than B

•A == B # A is equal to B

•A >= B # A is greater than OR equal to B

•A <= B # A is less than OR equal to B

Boolean Expressions

• All Boolean expressions in Python, we say “evaluate” to either “True” or “False”

Writing a Boolean Expression

sticks_stones = 10

words = 7

if sticks_stones > words: # sticks_stones > words

print( “Sticks and stones # 10 > 7

may break my bones, but# True, condition met

words will never hurt me” )

Practice

# given these variables # evaluate

A = 99 A > B

B = 7 B < C

C = -5 B >= C

D = 92 C <= D

A == B + D

D <= A + C

C != B

Practice

# given these variables # evaluate

A = 99 A > B True

B = 7 B < C False

C = -5 B >= C True

D = 92 C <= D True

A == B + D True

D <= A + C True

C != B True

More Boolean Operators

•Don’t confuse “==“ with “=“: • “=“ is used to assign variables • “==“ is used to test if two values are equivalent

•We use “!=“ to test if two values are different (“not equal to”)

•“<=“ and “>=“ test for more than one relationship at a time

Challenge: Guess the Magic Number

•Write a program that sets a magic number, anywhere from 1-10.

• Then, ask the user to guess a number.

• If they guess correctly, then print out “You guessed correctly, the number was __!”

• If not, tell them, “Sorry, the magic number was __.”

Challenge: Overtime Pay

•Write a program that asks the user for an hourly rate of pay and the number of hours they’ve worked

• If the number of hours worked is over 40, then calculate for overtime pay at 1.5 the original rate

• Then show the user how much money they made for the week

Challenge: Overtime Pay

•HINT: you may want to set a variable for the overtime pay and set it equal to zero, before the selection statement

• This way, the overtime pay is only changed if the condition is met

• You may want to do the same with the base

top related