Types, Truth, and Expressions (Part 2) Intro to Computer Science CS1510 Dr. Sarah Diesburg PA01 From now on can use CONSTANT_NAMES for constants File names matter – give it the name that was requested No line wrap Observations from PA 1 Variable names matter (don’t call it startingMileageStr when it contains a number) Why would you import math? Why would you say float(2.2) Do your own work! Questions about PA02?? Line Wrap Some rules Strings must be closed in the line in which they start Adding a backslash at the end of the line tells python that the command is continued on the end of the line 5 Review : Python if Statement if <expression> : suite Evaluate the expression to a boolean value (True or False) if True, execute all statements in the suite Review : Warning About Indentation Elements of the “suite” must all be indented the same number of spaces/tabs Python only recognizes suites when they are indented the same “distance” You must be careful to get the indentation right to get suites right. Let’s test your knowledge Let‘s look at #1-4 in my questions.py program… Let’s test your knowledge Problems #1-4 : Which letters are printed? A B A and B Neither 9 Let’s test your knowledge Let’s look at statements with if, elif, else Problems #5-9 : Which letters are printed? A B A and B Neither Python Selection, Round 2 if boolean expression: suite1 else: The process is: suite2 • evaluate the boolean • if True, run suite1 • if False, run suite2 Python Selection, Round 3 if boolean expression1: suite1 elif expression2: The process is: suite2 • evaluate expression1 • if True, run suite1 • If False, evaluate expression 2 • if True, run suite2 Python Selection, Round 3 if boolean expression1: suite1 elif boolean expression2: suite2 #(as many elif’s as you want) else: suiteLast if, elif, else, the Process Evaluate boolean expressions until: The boolean expression returns True None of the boolean expressions return True If a boolean returns True, run the corresponding suite. Skip the rest of the if If no boolean returns True, run the else suite, the default suite Compound Expressions Logical Operators (lower case) and or not Let’s test your knowledge Problems #10-11 : Which letters are printed? A B A and B Neither Truth Tables p q True True True False False True False False not p p and q p or q Truth Tables p q not p True True False True False False False True True False False True p and q p or q Truth Tables p q not p p and q True True True True False False False True False False False False p or q Truth Tables p q not p p and q p or q True True True True False True False True True False False False Truth Tables p q not p p and q p or q True True False True True True False False False True False True True False True False False True False False Chained Comparisons You are going to be tempted to write: 0 <= myInt <= 5 But you will need to be very careful Compound Evaluation Logically 0 < X < 3 is actually (0 < X) and (X < 3) Evaluate using X with a value of 2: (0< X) and (X< 3) Parenthesis first: (True) and (True) Final value: True (Note: parentheses are not necessary in this case.) Compound Evaluation BUT, I’ve seen students write: 3<X<0 Meaning they want to know if x is outside of that range. But this is actually (3 < X) and (X < 0) Evaluate using X with a value of 5: (3< X) and (X< 0) Parenthesis first: (True) and (False) Final value: False