Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CS 177 Week 5 Recitation Booleans and Control Flow.

Similar presentations


Presentation on theme: "1 CS 177 Week 5 Recitation Booleans and Control Flow."— Presentation transcript:

1 1 CS 177 Week 5 Recitation Booleans and Control Flow

2 2 Announcements

3 3 Contents Booleans Decision structures While loop Project 2 preview

4 Booleans Boolean (logical) expressions:  An expression that can assume only the true or false value  We use logical expression in everyday language: If today is raining, then bring an umbrella when you go out.  “today is raining” is a logical expression: its value can be either true or false.  Other examples: assume x=4 assume str=“abc” x>3 type(str)==int (true) (false)

5 Boolean operators:  And, or, not a and b a and true x > 0 and x <=2 y > 0 and y >= 3(overlapped) Booleans PQP and Q TTT TFF FTF FFF

6 Boolean operators:  And, or, not a or b a or true x 2 x > 5 or x < 10 (always true) Booleans PQP or Q TTT TFT FTT FFF

7 Boolean operators:  And, or, not not a not (not a) not x > 3 DeMorgan’s law not (a or b) == (not a) and (not b) not (a and b) == (not a) or (not b) Booleans Pnot P TF FT

8 (P and (not Q)) or ((not P) and Q)  It has a name: XOR  Can you do this? Booleans PQP xor Q TT TF FT FF

9 Does the result look familiar? How about this: Let T=1, F=0 Yes, it is the sum of binary numbers Booleans PQP xor Q 110 101 011 000

10 If statement  An if statement takes a logical expression and evaluates it.  If it is true, the statements in if block are executed, otherwise, they are not executed. Simple decision Decision Structures x = 5 if x>1: print(“print something”) The string is printed x = 0 if x>1: print(“print something”) Does nothing!

11 Two-way decision Decision Structures a = 45 if a < 100: print(“a is small”) else: print(“a is large”) >>> a is small a = 153 if a < 100: print(“a is small”) else: print(“a is large”) >>> a is large

12 Two-way decision Decision Structures a < 100? “a is large”“a is small” noyes

13 Multi-way decision Decision Structures a = 1.5 if a > 2: print(“a>2”) else: if a > 1: print(“1<a<=2”) else: print(“a<=1”) >>> 1<a<=2 a = 1.5 if a > 2: print(“a>2”) elif a > 1: print(“1<a<=2”) else: print(“a<=1”) >>> 1<a<=2

14 Decision Structures Multi-way decision 14 a >2 ? “a>2” noyes a >1 ? “1<a<=2”“a<1” noyes

15 “How long do I have to shower?” You have two replies you could make:  a) 10 minutes  b) Until you are clean a) When programming, the first answer would be portrayed as a for-loop because we focus on exactly how long the shower will continue: for minutes in range (0,9): shower b) The second answer would be portrayed as a while-loop because the length of the shower is undetermined; we instead focus on the condition of cleanliness: while you are not clean: shower For vs While Loop

16 count = 0 while count < 9: print(“The count is:”,count) count = count + 1 print(“while loop ended”) for count in range(0,9): print(“The count is:”, count) print(“for loop ended”)

17 Rules of While Loops Command name: while Boolean condition (in the previous example: count < 9) determines the termination of loop A colon (“:”) And a block (the indented lines of code) 17

18 Interactive loop Using while loop, we can write interactive loops 18 count = 0 str = “Yes” while str == “Yes”: print(“The count is:”,count) count = count + 1 str = input(“continue? Yes or No:”) print(“while loop ended”)

19 Project 2 Preview Population Growth Simulation The Geometric growth model No limitation on the population  For loop  Show the population in characters Limitation on the population  While loop  The limitation is the stopping criterion  Show the population in graphs 19

20 Project 2 Preview The structure of a project should be like this: 20 Main function Function 1 Function 2......

21 An Example from the Book def main(): sing("Fred") print() sing("Lucy") def sing(person): happy() happy() print("Happy birthday, dear", person + ".“) happy() def happy(): print("Happy birthday to you!") 21

22 An Example from the Book Functions link to each other by their parameters and return values What does f2(f1()) mean?  Pass the function f1 to f2? No  Pass the return value of f1 to f2? Yes v=f1() f2(v) 22 f1f2 f1f2 parameterreturn valueparameterreturn value

23 Questions? 23


Download ppt "1 CS 177 Week 5 Recitation Booleans and Control Flow."

Similar presentations


Ads by Google