#programming #control-structures # Control Flow So, you know the basics of individual instructions and that a program is just a series of such instructions. But programming’s real strength isn’t just running one instruction after another like a weekend errand list. Based on how expressions evaluate, a program can decide to skip instructions, repeat them, or choose one of several instructions to run. In fact, you almost never want your programs to start from the first line of code and simply execute every line, straight to the end. Control Flow can decide which Python instructions to execute under which conditions. These flow control statements directly correspond to the symbols in a flowchart. The image below shows a flowchart for what to do if it’s raining. Follow the path made by the arrows from Start to End. ![[image-2 1.png]] In a flowchart, there is usually more than one way to go from the start to the end. The same is true for lines of code in a computer program. Flowcharts represent these branching points with diamonds, the other steps with rectangles, and the starting and ending steps with rounded rectangles. But before you learn about flow control statements, you first need to learn how to represent those _yes_ and _no_ options, and you need to understand how to write those branching points as Python code. To that end, let’s explore Boolean values, comparison operators, and Boolean operators. ![[Data Types#Boolean]]