CHAPTER 4 Repetition Structures Topics Introduction to Repetition
- Slides: 24
CHAPTER 4 Repetition Structures
Topics • Introduction to Repetition Structures • The while Loop: a Condition-Controlled Loop • The for Loop: a Count-Controlled Loop • Calculating a Running Total
Introduction to Repetition Structures • Often have to write code that performs the same task multiple times • Disadvantages to duplicating code • Makes program large • Time consuming • May need to be corrected in many places • Repetition structure: makes computer repeat code • Includes condition-controlled loops and countcontrolled loops
The while Loop • while loop: while condition is true, do something • Two parts: • Condition tested (just like in If/else) • Set of Statements repeated as long as condition is true • General format: while condition: statements • Notice • Indentation like If statement. • while statement ends when indentation ends • ‘: ’ after condition
The while Loop Flow Control
The while Loop • In order for a loop to stop executing, something has to happen inside the loop to make the condition false • Iteration: one execution of the body of a loop • while loop is known as a pretest loop – Tests condition before performing an iteration • Will never execute if condition is false at start • Requires performing some steps prior to the loop
Commission Program # This program calculates sales commissions. keep_going = 'y' # Create a variable to control the loop. # Calculate a series of commissions. while keep_going == 'y': sales = float(input('Enter the amount of sales: ')) comm_rate = float(input('Enter the commission rate: ')) commission = sales * comm_rate # Calculate the commission. # Display the commission. print('The commission is $', format(commission, ', . 2 f'), sep='') # See if the user wants to do another one. keep_going = input('Do you want to calculate another ' + 'commission (Enter y for yes): ')
Infinite Loops • Loops must contain within themselves a way to terminate • Something inside a while loop must eventually make the condition false • Infinite loop: loop that does not have a way of stopping • Repeats until program is interrupted • Occurs when programmer does not set the loop condition to be false
The for Loop • Count-Controlled loop: performs loop a specific number of times • Use a for statement to write count-controlled loop • Designed to work with sequence of data items – Iterates once for each item in the sequence • General format: for variable in [val 1, val 2, etc]: statements • Target variable: the variable which is the target of the assignment at the beginning of each iteration
Simple Loop With List of Numbers print('I will display the numbers 1 through 5. ') for num in [1, 2, 3, 4, 5]: print(num) Output I will display the numbers 1 through 5. 1 2 3 4 5
Simple Loop With List of Odd Numbers print('I will display the odd numbers 1 through 9. ') for num in [1, 3, 5, 7, 9]: print(num) Output I will display the odd numbers 1 through 9. 1 3 5 7 9
Simple Loop With List of Strings for name in ['Winken', 'Blinken', 'Nod']: print(name) Output Winken Blinken Nod
Using range Function in for Loop • Simplifies the process of writing a for loop • range returns an iterable object • Iterable: contains a sequence of values that can be iterated over for num in range (arg 1, [arg 2, [arg 3]]) statements • range characteristics: • One argument: used as ending limit • Two arguments: starting value and ending limit • Three arguments: third argument is step value
Range Example for num in range (5): print(num) Output 0 1 2 3 4 Same as for num in [0, 1, 2, 3, 4]: print(num)
Range Examples for num in range (1, 5): print(num) Output 1 2 3 4 for num in range (1, 10, 2): print(num) Output 1 3 5 7 9
Using Target Variable Inside Loop • Purpose of target variable is to reference each item in a sequence as the loop iterates • Target variable can be used in calculations or tasks in the body of the loop • Example: calculate square root of each number in a range • Ending value will not be included in loop since that is when loop stops
Speed Converter Example start_speed = 60 # Starting speed end_speed = 131 # Ending speed increment = 10 # Speed increment conversion_factor = 0. 6214 # Km/hr to MPH conversion factor # Print the table headings. print('KPHt. MPH') print('-------') # Print the speeds. for kph in range(start_speed, end_speed, increment): mph = kph * conversion_factor print(kph, 't', format(mph, '. 1 f'))
Speed Converter Output KPH MPH -------60 37. 3 70 43. 5 80 49. 7 90 55. 9 100 62. 1 110 68. 4 120 74. 6 130 80. 8
Letting User Control Loop Iterations • Sometimes the programmer does not know exactly how many times the loop will execute • Can receive range inputs from the user, place them in variables, and call range function in for clause using these variables • Be sure to consider the end cases: range does not include the ending limit
Find Squares Example # Get the ending limit. print('This program displays a list of numbers') print('(starting at 1) and their squares. ') end = int(input('How high should I go? ')) # Print the table headings. print() print('Numbert. Square') print('-------') # Print the numbers and their squares. for number in range(1, end + 1): # Add 1 since loop stops at end square = number**2 print(number, 't', square)
Find Squares Output This program displays a list of numbers (starting at 1) and their squares. How high should I go? 5 Number Square ---------1 1 2 4 3 9 4 16 5 25
Generating an Iterable Sequence that Ranges from Highest to Lowest • The range function can be used to generate a sequence with numbers in descending order • Make sure starting number is larger than end limit, and step value is negative • Example: range (10, 0, -1)
- Give other examples of homologous structures
- Repetition structures
- Emotional words propaganda meaning
- Introduction to data structures
- Introduction to data structures
- Chapter 9 topics in analytic geometry
- Chapter 7 organizational structures
- Chapter 7 lesson 1 competition and market structures
- Chapter 7 section 3 structures and organelles
- Knee anatomy chapter 16 worksheet 1
- Chapter 16 worksheet the knee and related structures
- Chapter 7 organizational structures
- Data structures chapter 1
- Chapter 7 market structures vocabulary
- Hello
- Chapter 7 section 3 structures and organelles
- Foreshadowing in the great gatsby chapter 7
- Great gatsby summary chapter 3
- Introduction paragraph format
- School magazine article examples
- Persuasive essay grade 9
- Thematic essay introduction example
- Behavioural training topics
- Skill 6 listen for who and what with multiple nouns
- What is competency based interview