0% found this document useful (0 votes)
7 views19 pages

Control Structure

The document provides a detailed guide for a Python lab focused on loops, including instructions for setting up the programming environment and creating two specific programs: Vowels.py and NumberProperties.py. It outlines the objectives of using for and while loops, along with example code and problem-solving steps for each program. Additionally, it encourages students to complete supplementary questions for further practice.

Uploaded by

shalini mittal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views19 pages

Control Structure

The document provides a detailed guide for a Python lab focused on loops, including instructions for setting up the programming environment and creating two specific programs: Vowels.py and NumberProperties.py. It outlines the objectives of using for and while loops, along with example code and problem-solving steps for each program. Additionally, it encourages students to complete supplementary questions for further practice.

Uploaded by

shalini mittal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Introduction to Programming

Python Lab 8:
Loops

PythonLab8 lecture [Link]


19 November 2019 Ping Brennan ([Link]@[Link])
1
or 6 March 2020
Getting Started
• Create a new folder in your disk space with the name PythonLab8

• Launch the Python Integrated Development Environment (IDLE) -


begin with the Start icon in the lower left corner of the screen.

• If you are in a DCSIS laboratory, search using the keyword Python


and click on IDLE (Python 3.6 64-bit) .
A window with the title Python 3.6.2 Shell should appear. This
window is the Shell.

2
Getting Started (2)

• If you are in the ITS laboratory MAL 109, then right mouse click on
the Start icon in the lower left corner of the screen.
A list of menu options should appear and click on Search . Type
Python in the search text box at the bottom of the pop-up window.
A list of Apps should appear and select
Python 3.4 IDLE(PythonGUI)
A window with the title Python 3.4.3 Shell should appear. This
window is the Shell.

• In the Shell click on File. A drop down menu will appear.


Click on New File. A window with the `title` Untitled should
appear. This window is the Editor.
3
Getting Started (3)
• In the Editor, click on File, and then in the drop down menu click on
Save As… .

A window showing a list of folders should appear.


– To search any folder on the list, double click on the folder.
– Find the folder PythonLab8 and double click on it.
– In the box File name at the bottom of the window
1. Type [Link]
2. Then click on the button Save in the lower right corner of the
window.
The title of the Editor should change to show the location of the file
[Link].

4
Objectives of the exercises set
• Objectives
– Use for statements to implement count-controlled loops that
iterate over a range of integer values or the contents of any
container.
Syntax Example Explanation
for variable in container: stateName = "Ohio" The string "Ohio" is
statements #loop body for letter in stateName: stored in the variable
print(letter) stateName.
# loop body The loop body is
All the statements in executed for each
The variable letter takes
the block (loop body) each of the values 'O', 'h', 'i',
successive character of
have the same level of 'o' in turn for each iteration. the string in
indentation. stateName, starting
iteration letter Output with the first character.
The header 1 O O
ends in a h
2 h
colon i
3 i o

4 o 5
Objectives of the exercises set (2)
• Objectives
– Use while statements to implement event-controlled
loops.
A while loop executes instructions repeatedly while a
condition is true.
Syntax Example Flow chart

while condition : i = 0 1 condition


statements while i < 3 : 2 1
print(i) 3 2
All the statements i = i + 1 4
in the block (loop
body) have the Output
same indentation.
3
0
1 4
The header 2
ends in a
colon.
In the example, the variable i is initialised outside the while loop (statement 1 ) 6
and updated in the loop body (statement 4 ).
Objectives of the exercises set (3)
– The table below shows the working of the while loop
example shown on page 6.

i i<3? Output using i=i+1


print(i)
0 True 0 1
1 True 1 2
2 True 2 3
3 False – end of the while loop

7
Program [Link]: Vowels
• Question 2: Problem statement
Consider the following for loop,
stateName = "Ohio"
for letter in stateName :
print(letter)

The variable letter takes each of the values "O", "h", "i", "o"
in turn.
The output of the code is
O
h
i
o

8
Program [Link]: Vowels (2)
• Problem statement (continued)
i. Write a program that requests a string from the keyboard and
then prints out the characters in the string in a vertical line, as
in the above example. (see page 8)

ii. Add to your program code to count the number of lower case
vowels in the input string and then print out this number after
printing out the vertical line of characters. The vowels are a, e,
i, o, u.

9
Program [Link]: Vowels (3)
• Problem solving - Convert the following pseudo code into a
sequence of Python statements in your program.
Input 1. Read in a string and store it in a variable named s.
2. Declare a variable named n and assign a value of 0 to it.
Process
the input The variable n is used to keep a count of the number of lower case
and vowels (a, e, i, o, u) in the input string s.
display 3. Add the following for statement to print out the characters in the
the
string s in a vertical line, as shown in the output example on page 8.
output
(steps 2 for letter in s :
to 5). print(letter) # loop body

Indent the
print statement
in the block
(loop body).

10
Program [Link]: Vowels (4)
• Problem solving (continued)
4. Inside the for loop, add an if statement to check if the letter is equal
to an "a", "e", "i", "o", or "u" after the print statement in step 3. Align
the print and if statements at the same level of indentation.
If the combined Boolean expression is true, then add 1 to the current
value of n. Use the if statement below to help you get started.
if letter == "a" or letter == "e" or complete the combined
Boolean expression by adding test conditions for the
remaining vowels (i,o,u) :
# True branch - if the combined expression is true
Indent & write an assignment statement to add 1 to n
and store the result in n. Recall n keeps a count of
Note the the number of lower case vowels.
indentation
of the code. 5. Outside the for loop, write the code to print out the number of lower
case vowels. Align the print and for statements.

• Provide a comment at the beginning of the program to explain


the purpose of the program together with your name and the
date. Save the program to the file [Link] and then run it. 11
Program [Link]:
NumberProperties
• Create a new Editor for a new file called [Link]
• Question 3: Problem statement
Write a program that reads a list of strictly positive integers from the
keyboard, one at a time.
Use a while loop to read these integers.
The end of the input is indicated by the integer 0. Note that this 0 is a
sentinel in that it marks the end of the input but does not belong to
the set of integers whose properties are sought (PFE Section 4.3).
The program then prints out the following numbers.
i. the average value
ii. the smallest of the values
iii. the largest of the values
iv. the inclusive range, that is one more than the difference between the
smallest and the largest values.
It can be assumed that the input contains at least one number other
than 0. See PFE P4.5.
12
Program [Link]:
NumberProperties (2)
• Problem statement (continued)
Include a comment with each number that is printed out, for
example:
The average value is: …

If you need to check how a while loop behaves, then test the
following code.

nextNumber = 5
while not (nextNumber == 0) : # test for entry to the loop
print(nextNumber) # in the loop do something with the data
nextNumber = nextNumber-1 # get the next number

All the statements


in the block (loop
body) have the
same indentation.

13
Program [Link]:
NumberProperties (3)

Input Computations Output


The average
A set of positive 1. average = value is 4.75
integer numbers. (2 + 5 + 3 + 9) / 4 The smallest
For example, 2. mn = min(2, 5, 3, 9) value is 2
The largest value
the numbers: 3. mx = max(2, 5, 3, 9)
is 9
2 5 3 9 4. range = (mx - mn) + 1 The range is 8
are typed in at
the keyboard,
one at a time.

Note: The Python built-in function max returns the largest value of the
arguments; and the function min returns the smallest value of the arguments.
14
Flow chart of a while
loop for the program
[Link]
(4)
The largest and
smallest of the
values are stored in
the variables mx and
mn respectively.

15
Program [Link]:
NumberProperties (5)
• Problem solving - Convert the following pseudo code into a
sequence of Python statements in your program.
Input 1. Read in an integer and store it in a variable named number *
2. Create a variable named count and initialise it with the value of 1.
Process
the input The variable keeps a count of the number of inputs.
and 3. Create variables, for example, total to store the total of the inputs,
display all
required mx to store the largest value and mn to store the smallest value.
results Set the value of each variable to be the value of the variable number
(steps 2 initially.
to 5).
An example is shown below for the variable total.
total = number

* Assume that the first numeric value read in from the keyboard is a
positive integer greater than 0.

16
Program [Link]:
NumberProperties (6)
• Problem solving (continued)
4. Write a while loop statement to read in more integers as long as the
condition, number > 0, remains true. Below is an outline of the
algorithm needed to solve the problem set inside the loop.
while number > 0 :
# loop body
# Add code below to read in a number
number = read in an integer similar to step 1
# Add an if statement below to check if the number is not
Note the # equal to zero.
indentation if (condition tests if the number is not equal to zero ) :
of the # True branch of the if statement
statements. # i) add 1 to count as shown, indented below.
count = count + 1
# Write more code inside the True branch to
# ii) add number to total and store result in total
# iii) Set mx to be the larger of the two values in
# the variables mx and number using the max function.
# iv) Set mn to be the smaller of the two values in
# the variables mn and number using the min function. 17
Program [Link]:
NumberProperties (7)
• Problem solving (continued)
5. Outside the while loop, write additional code to find the average value
and the inclusive range. Then write code to print all required results
separately together with suitable messages.
For example, the print statement below can be used to display the
inclusive range.
print("The range is ", mx – mn + 1)

Align the while statement and the additional code for step 5, such as
print statements.
• Provide a comment at the beginning of the program to explain
the purpose of the program together with your name and the
date.
• Save your program to the file [Link] and
then run it.
18
Supplementary Questions for Private
Study
• The laboratory worksheet contains supplementary questions in
section 4 for private study.

• You are encouraged to complete the supplementary questions at


home, or in the laboratory if you have time after completing
questions 2 to 3.

19

You might also like