Welcome to CS I

Types, Truth, and Expressions
(Part 2)
Intro to Computer Science
CS1510
Dr. Sarah Diesburg
Issues from PA01


Turn in your paperwork, stapled, in order given
on assignment
Include a header block





Which includes your full name
Proper format for variableNames
From now on can use CONSTANT_NAMES for
constants
File names matter – give it the name that was
requested
No line wrap
Issues from PA01

Make sure you READ directions

The directions told you what order the data should
be given


Days, hours, minutes, seconds
Test your code!


I specifically gave you an example for each program. It
better work on this.
But, this wasn’t enough examples to guarantee
everything worked. What other things should you test?
Observations from PA 1

Variable names matter (don’t call it minuteStr
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 Reminder

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
6
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
10
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