Outline for January 14
Reading
: §2, 3
Due
: Homework 1, due on January 18 at 11:55pm
Simultaneous assignment [
swap.py
]
Simple assignment:
variable
=
expression
Simultaneous assignment:
variableA
,
variableB
=
expressionA
,
expressionB
Decision structures [
if0.py
]
If statement
Executes once, based on condition
Syntax
Conditions
Resolves to boolean value
Literal booleans: True (1), False (0)
Testable as
true
or
false
Relational operators
Use two arithmetic expressions connected with relational operators to create a boolean
Relational operators:
>
,
>=
,
<
,
<=
,
==
,
!=
Precedence: resolved after arithmetic operators
6 > 2 + 3
;
"UCD" == "Sac State"
Two-way decisions [
if1.py
]
if &hellip else statements
One condition, two possible code blocks
Syntax
else very powerful when the positive condition is easy to describe but not the negative
String comparison example
Multi-way decisions [
if2.py
]
Can execute code based on several conditions
elif
(else if)
Syntax
else
only reached if all previous conditions false
Nested if statements
Iteration
Definite loops: execute a specific (definite) number of times
Indefinite loops: execute until a general condition is false
While loops [
while.py
]
Contrast with
for
break
causes program to fall out of loop (works with
for
too) [
loop1.py
]
continue
causes program to start loop over immediately (works with
for
too) [
loop1.py
]
For loops
General form:
for i in
iterator
Iterator
is either list or something that generates a list
Very common form:
for i in range(1, 10)
range()
in detail [
for.py
]
range(10)
gives 0 1 2 3 4 5 6 7 8 9
range(3, 10)
gives 3 4 5 6 7 8 9
range(2, 10, 3)
gives 2 5 8
range(10, 2, -3)
gives 10 7 4
Program: counting to 10 [
toten.py
]
Program: sum the first 10 squares [
sumsq.py
]
Program: Fibonacci numbers [
fib.py
]
Matt Bishop
Department of Computer Science
University of California at Davis
Davis, CA 95616-8562 USA
Last modified: Version of January 12, 2019 at 10:57PM
Winter Quarter 2019
You can get a PDF version of this