Outline for September 29, 2022

Reading: §2, 5
Assignments: Homework 1, due October 5, 2022


  1. Decision structures [if0.py]
    1. If statement
    2. Executes once, based on condition
    3. Syntax

  2. Conditions
    1. Resolves to boolean value
    2. Literal booleans: True (1), False (0)
    3. Testable as true or false
    4. Relational operators
      1. Use two arithmetic expressions connected with relational operators to create a boolean
      2. Relational operators: >, >=, <, <=, ==, !=
      3. Precedence: resolved after arithmetic operators
      4. 6 > 2 + 3; "UCD" == "Sac State"

  3. Two-way decisions [if1.py]
    1. if …\ else statements
    2. One condition, two possible code blocks
    3. Syntax
    4. else very powerful when the positive condition is easy to describe but not the negative
    5. String comparison example

  4. Multi-way decisions [if2.py]
    1. Can execute code based on several conditions
    2. elif (else if)
    3. Syntax
    4. else only reached if all previous conditions false
    5. Nested if statements

  5. Conditional expressions [condexp.py]

  6. Iteration
    1. Definite loops: execute a specific (definite) number of times
    2. Indefinite loops: execute until a general condition is false

  7. For loops
    1. General form: for i in iterator
    2. Iterator is either list or something that generates a list
    3. Very common form: for i in range(1, 10)

  8. range() in detail [for.py]
    1. range(10) gives 0 1 2 3 4 5 6 7 8 9
    2. range(3, 10) gives 3 4 5 6 7 8 9
    3. range(2, 10, 3) gives 2 5 8
    4. range(10, 2, -3) gives 10 7 4

  9. While loops [while.py]
    1. Contrast with for
    2. break causes program to fall out of loop (works with for too) [loop1.py]
    3. continue causes program to start loop over immediately (works with for too) [loop1.py]

  10. Exception Keyboard Interrupt — user hit the interrupt key (usually control-C)

  11. Program: counting to 10 [toten.py]

  12. Program: sum the first 10 squares [sumsq.py]

  13. Program: Fibonacci numbers [fib.py]

UC Davis sigil
Matt Bishop
Office: 2209 Watershed Sciences
Phone: +1 (530) 752-8060
Email: mabishop@ucdavis.edu
ECS 235A, Computer and Information Security
Version of September 28, 2022 at 11:31AM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh