# 3. Control Statements and Program Development¶

### Objectives¶

- Decide whether to execute actions with the statements `if`, `if`…`else` and if…elif…else.
- Execute statements repeatedly with `while` and `for`.
- Shorten assignment expressions with augmented assignments.
- Use the `for` statement and the built-in `range` function to repeat actions for a sequence of values.
- Perform sentinel-controlled iteration with `while`.

### Objectives (cont.)¶

- Learn problem-solving skills: understanding problem requirements, dividing problems into smaller pieces, developing algorithms to solve problems and implementing those algorithms in code.
- Develop algorithms through the process of top-down, stepwise refinement.
- Create compound conditions with the Boolean operators `and`, `or` and `not`.

### Objectives (cont.)¶

- Stop looping with `break`.
- Force the next iteration of a loop with `continue`.
- Use some functional-style programming features to write scripts that are more concise, clearer, easier to debug and easier to parallelize.

### Outline¶

- 3.1 Introduction
- 3.2 Algorithms
- 3.3 Pseudocode
- 3.4 Control Statements
- 3.5 if Statement
- 3.6 if…else and if…elif…else Statements
- 3.7 while Statement

### Outline¶

- 3.8 for Statement
  - 3.8.1 Iterables, Lists and Iterators
  - 3.8.2 Built-In range Function
- 3.9 Augmented Assignments
- 3.10 Program Development: Sequence-Controlled Iteration
  - 3.10.1 Requirements Statement
  - 3.10.2 Pseudocode for the Algorithm
  - 3.10.3 Coding the Algorithm in Python
  - 3.10.4 Introduction to Formatted Strings
- 3.11 Program Development: Sentinel-Controlled Iteration

### Outline¶

- 3.12 Program Development: Nested Control Statements
- 3.13 Built-In Function range: A Deeper Look
- 3.14 Using Type Decimal for Monetary Amounts
- 3.15 break and continue Statements
- 3.16 Boolean Operators and, or and not
- 3.17 Intro to Data Science: Measures of Central Tendency—Mean, Median and Mode
- 3.18 Wrap-Up

©1992–2020 by Pearson Education, Inc. All Rights Reserved. This content is based on Chapter 3 of the book Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud.

DISCLAIMER: The authors and publisher of this book have used their best efforts in preparing the book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The authors and publisher make no warranty of any kind, expressed or implied, with regard to these programs or to the documentation contained in these books. The authors and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs.