Lecture 3: October 3, 2019
Reading
: §3, 5
Due
: Homework 1, due on October 10 at 11:59pm
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 … 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
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)
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
]
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
Office: 2209 Watershed Sciences
Phone: +1 (530) 752-8060
Email:
mabishop@ucdavis.edu
MHI 289I, Programming in Health Informatics
Version of October 1, 2019 at 6:38PM
You can also obtain a PDF version of this.