Outline for September 29, 2021

Reading: §1
Due: Homework 1, due October 6, 2021
Handout: “Truth Tables: and, or, and not

  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. 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]

  8. 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)

  9. 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

  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, 2021 at 11:10PM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh