summaryrefslogtreecommitdiff
path: root/tutorials/module_1/notebook_1/control_structures.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'tutorials/module_1/notebook_1/control_structures.ipynb')
-rw-r--r--tutorials/module_1/notebook_1/control_structures.ipynb212
1 files changed, 0 insertions, 212 deletions
diff --git a/tutorials/module_1/notebook_1/control_structures.ipynb b/tutorials/module_1/notebook_1/control_structures.ipynb
deleted file mode 100644
index 38292e3..0000000
--- a/tutorials/module_1/notebook_1/control_structures.ipynb
+++ /dev/null
@@ -1,212 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "id": "c827399d-4be0-41c5-81e2-13ada0b02e97",
- "metadata": {},
- "source": [
- "# Control Structures\n",
- "\n",
- "Control structures allow us to control the flow of execution in a Python\n",
- "program. The two main types are **conditional statements (`if`\n",
- "statements)** and **loops (`for` and `while` loops)**.\n",
- "\n",
- "## Conditional Statements\n",
- "\n",
- "Conditional statements allow a program to execute different blocks of\n",
- "code depending on whether a given condition is `True` or `False`. These\n",
- "conditions are typically comparisons, such as checking if one number is\n",
- "greater than another.\n",
- "\n",
- "### The `if` Statement\n",
- "\n",
- "The simplest form of a conditional statement is the `if` statement. If\n",
- "the condition evaluates to `True`, the indented block of code runs.\n",
- "Otherwise, the program moves on without executing the statement.\n",
- "\n",
- "For example, consider a situation where we need to determine if a person\n",
- "is an adult based on their age. If the age is 18 or greater, we print a\n",
- "message saying they are an adult.\n",
- "\n",
- "### The `if-else` Statement\n",
- "\n",
- "Sometimes, we need to specify what should happen if the condition is\n",
- "`False`. The `else` clause allows us to handle this case. Instead of\n",
- "just skipping over the block, the program can execute an alternative\n",
- "action.\n",
- "\n",
- "For instance, if a person is younger than 18, they are considered a\n",
- "minor. If the condition of being an adult is not met, the program will\n",
- "print a message indicating that the person is a minor.\n",
- "\n",
- "### The `if-elif-else` Statement\n",
- "\n",
- "When dealing with multiple conditions, the `if-elif-else` structure is\n",
- "useful. The program evaluates conditions in order, executing the first\n",
- "one that is `True`. If none of the conditions are met, the `else` block\n",
- "runs.\n",
- "\n",
- "For example, in a grading system, different score ranges correspond to\n",
- "different letter grades. If a student’s score is 90 or higher, they\n",
- "receive an “A”. If it’s between 80 and 89, they get a “B”, and so on. If\n",
- "none of the conditions match, they receive an “F”.\n",
- "\n",
- "### Nested `if` Statements\n",
- "\n",
- "Sometimes, we need to check conditions within other conditions. This is\n",
- "known as **nesting**. For example, if we first determine that a person\n",
- "is an adult, we can then check if they are a student. Based on that\n",
- "information, we print different messages.\n",
- "\n",
- "``` python\n",
- "# Getting user input for the student's score\n",
- "score = int(input(\"Enter the student's score (0-100): \"))\n",
- "\n",
- "if 0 <= score <= 100:\n",
- " if score >= 90:\n",
- " grade = \"A\"\n",
- " elif score >= 80:\n",
- " grade = \"B\"\n",
- " elif score >= 70:\n",
- " grade = \"C\"\n",
- " elif score >= 60:\n",
- " grade = \"D\"\n",
- " else:\n",
- " grade = \"F\" # Score below 60 is a failing grade\n",
- "\n",
- "\n",
- " if grade == \"F\":\n",
- " print(\"The student has failed.\")\n",
- " retake_eligible = input(\"Is the student eligible for a retest? (yes/no): \").strip().lower()\n",
- " \n",
- " if retake_eligible == \"yes\":\n",
- " print(\"The student is eligible for a retest.\")\n",
- " else:\n",
- " print(\"The student has failed the course and must retake it next semester.\")\n",
- "\n",
- " \n",
- "```\n",
- "\n",
- "## Loops in Python\n",
- "\n",
- "Loops allow a program to execute a block of code multiple times. This is\n",
- "especially useful for tasks such as processing lists of data, performing\n",
- "repetitive calculations, or automating tasks.\n",
- "\n",
- "### The `for` Loop\n",
- "\n",
- "A `for` loop iterates over a sequence, such as a list, tuple, string, or\n",
- "a range of numbers. Each iteration assigns the next value in the\n",
- "sequence to a loop variable, which can then be used inside the loop.\n",
- "\n",
- "For instance, if we have a list of fruits and want to print each fruit’s\n",
- "name, a `for` loop can iterate over the list and display each item.\n",
- "\n",
- "Another useful feature of `for` loops is the `range()` function, which\n",
- "generates a sequence of numbers. This is commonly used when we need to\n",
- "repeat an action a specific number of times. For example, iterating from\n",
- "0 to 4 allows us to print a message five times.\n",
- "\n",
- "Additionally, the `enumerate()` function can be used to loop through a\n",
- "list while keeping track of the index of each item. This is useful when\n",
- "both the position and the value in a sequence are needed.\n",
- "\n",
- "``` python\n",
- "fruits = [\"apple\", \"banana\", \"cherry\"] \n",
- "for x in fruits: \n",
- "  print(x)\n",
- "```\n",
- "\n",
- "``` python\n",
- "for x in range(6): \n",
- "  print(x) \n",
- "else: \n",
- "  print(\"Finally finished!\")\n",
- "```\n",
- "\n",
- "### The `while` Loop\n",
- "\n",
- "Unlike `for` loops, which iterate over a sequence, `while` loops\n",
- "continue running as long as a specified condition remains `True`. This\n",
- "is useful when the number of iterations is not known in advance.\n",
- "\n",
- "For example, a countdown timer can be implemented using a `while` loop.\n",
- "The loop will continue decreasing the count until it reaches zero.\n",
- "\n",
- "It’s important to be careful with `while` loops to avoid infinite loops,\n",
- "which occur when the condition never becomes `False`. To prevent this,\n",
- "ensure that the condition will eventually change during the execution of\n",
- "the loop.\n",
- "\n",
- "A `while` loop can also be used to wait for a certain event to occur.\n",
- "For example, in interactive programs, a `while True` loop can keep\n",
- "running until the user provides a valid input, at which point we break\n",
- "out of the loop.\n",
- "\n",
- "``` python\n",
- "i = 1 \n",
- "while i < 6: \n",
- "  print(i) \n",
- "  i += 1\n",
- "```\n",
- "\n",
- "## Loop Control Statements\n",
- "\n",
- "Python provides special statements to control the behavior of loops.\n",
- "These can be used to break out of a loop, skip certain iterations, or\n",
- "simply include a placeholder for future code.\n",
- "\n",
- "### The `break` Statement\n",
- "\n",
- "The `break` statement is used to exit a loop before it has iterated\n",
- "through all its elements. When the `break` statement is encountered, the\n",
- "loop stops immediately, and the program continues executing the next\n",
- "statement outside the loop.\n",
- "\n",
- "For instance, if we are searching for a specific value in a list, we can\n",
- "use a `break` statement to stop the loop as soon as we find the item,\n",
- "instead of continuing unnecessary iterations.\n",
- "\n",
- "### The `continue` Statement\n",
- "\n",
- "The `continue` statement is used to skip the current iteration and\n",
- "proceed to the next one. Instead of exiting the loop entirely, it simply\n",
- "moves on to the next cycle.\n",
- "\n",
- "For example, if we are iterating over numbers and want to skip\n",
- "processing number 2, we can use `continue`. The loop will ignore that\n",
- "iteration and proceed with the next number.\n",
- "\n",
- "### The `pass` Statement\n",
- "\n",
- "The `pass` statement is a placeholder that does nothing. It is useful\n",
- "when a block of code is syntactically required but no action needs to be\n",
- "performed yet.\n",
- "\n",
- "For example, in a loop where a condition has not yet been implemented,\n",
- "using `pass` ensures that the code remains valid while avoiding errors."
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3 (ipykernel)",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.13.2"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}