Вы находитесь на странице: 1из 36

From Flowcharts to Python

Name: _______________________________________
Python Activity 1: Flowcharts and Python
“What is the relationship between a flowchart and a Python program?”

Learning Objectives
Students will be able to:
Content:
Explain how to display data in Python
Explain how to create a comment in Python
Determine the difference between a string literal and a number
Process:
Create print statements in Python
Create Python code that displays results to calculated addition facts
Discuss problems and programs with all group members

Prior Knowledge
Understanding of flowchart output symbols
Further Reading
Transitioning from Visual Logic to Python: Chapter 1
Critical Thinking Questions:

Python Program Flowchart

1. What does the line of Python code in the Python program do?
_________________________________________________________________________________
_________________________________________________________________________________

2. Circle equivalent representation of the Python code in the flowchart.

3. Execute the following code. What output is produced?


a. print(“Hello, my name is Pat!”) ________________________________
b. print(Hello, my name is Pat) ________________________________
c. print(“Hello.\nMy name is Pat”) ________________________________

1
Python Activity 1: Flowcharts and Python

4. Was there a problem with any of the sample code in question 3? If so, what caused the problem?
______________________________________________________________________________
______________________________________________________________________________

5. What caused the different output format for samples “a” and “c” in question 3?
______________________________________________________________________________
______________________________________________________________________________

6. What do you think the following Python statements output?

a. print(2+5) _________________________
b. print(2*5) _________________________
c. print(“2+5”) _________________________
d. print(“Age:”,20) _________________________
Enter the statements in the Python interpreter to verify your answers.

7. Examine the output for each statement in question 6.


a. What is the difference in the output for the statements in “a” and “c” of question 6?
______________________________________________________________________________

b. What caused the difference? ____________________________________________________


______________________________________________________________________________

c. Which statements contain a string literal?


______________________________________________________________________________
______________________________________________________________________________

d. What does the comma (,) do in the print statement in part “d” of question 6? How does it
affect the spacing of the output?
______________________________________________________________________________
______________________________________________________________________________

8. Examine the following code and its output. What do the first three lines of the program do?

Output

______________________________________________________________________________
______________________________________________________________________________

2
Python Activity 1: Flowcharts and Python

9. What would happen if you placed a “#” in front of the code? in the
previous program?

______________________________________________________________________________
______________________________________________________________________________

Application Questions: Use the Python interpreter to design and check your work

1. Create a Python program containing three statements to implement the flowchart on the first page
of this activity. Write the statements below.

2. Create one Python statement to produce the output expected from the flowchart. Be sure the
output is printed on three lines.

3. Create a Python program containing two statements that prints the output
to the right. Have the program calculate the answers to the two
arithmetic problems.

3
Name: _______________________________________
Python Activity 2: Input and Variables in Python
“How do you input and store data in a Python program?”

Learning Objectives
Students will be able to:
Content:
Explain how to input data in Python
Explain the meaning and purpose of a variable
Determine if a variable name is valid
Explain concatenation and the use of “+”
Process:
Create input statements in Python
Create Python code that prompts the user for data and stores it in a variable
Create valid and good variable names

Prior Knowledge
Understanding of flowchart input symbols
Further Reading
Transitioning from Visual Logic to Python: Chapter 2

Critical Thinking Questions:

Python Program

Flowchart Program

1. Enter and execute the Python program. What is printed on the screen when the Python program is
executed?
_________________________________________________________________________________
_________________________________________________________________________________

FYI: input() and print() are functions in Python.


2. Draw a line between each flowchart symbol and its corresponding Python code.

4
Python Activity 2: Input and Variables in Python

3. Examine the first line of Python program: name = input(“What is your name? ”)
a. What happens when this line of code is executed?
______________________________________________________________________________

b. What appears on the screen when this line of code is executed?


______________________________________________________________________________

FYI: The words that appear on the screen to tell the user what to enter are known as a prompt.

c. What happens to the data when the user enters their name and presses the Enter button? That
is, where is their name stored?
______________________________________________________________________________

FYI: The word name in the Python code is a variable –


name given to a memory location used to store data.

4. What happens when you execute each of the following lines of Python code?
a. name? = input(“What is your name?”)
______________________________________________________________________________
______________________________________________________________________________

b. your name = input(“What is your name?”)


______________________________________________________________________________
______________________________________________________________________________

c. 1st_name = input(“What is your name?”)


______________________________________________________________________________
______________________________________________________________________________

d. from = input(“Where were you born?”)


______________________________________________________________________________
______________________________________________________________________________

5. Examine the errors that occurred when executing the lines of code in question 5. Then examine the
following lines of valid code.
name2 = input(“What is your name?”)
your_name = input(“What is your name?”)
yourName = input(“What is your name?”)

List the rules that need to be followed to create a valid variable name.
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________

5
Python Activity 2: Input and Variables in Python

6. Are the following variable names valid? Are they good names? Why or why not?
Variable name Comments about variable name
price
costoffirstitem
Ic
firstName

7. Execute the following lines of code. Is the output what you would expect? Why or why not?

_________________________________________________________________________________
_________________________________________________________________________________

8. Use the following set of Python statements to answer the questions below.

a. State the output for each of line of code.


_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________

b. Examine the first two print statements. How are they different? Does the difference affect the
output?
_________________________________________________________________________________
_________________________________________________________________________________

c. Notice that some statements include a comma (,) between the two literals being printed and some
statements use a “+”. Do they produce the same output? ____________________

d. Explain the purpose of the comma.


_________________________________________________________________________________
_________________________________________________________________________________

e. Why does the last print statement crash the program? What would you do to correct it?
_________________________________________________________________________________
_________________________________________________________________________________
FYI: “+” concatenates two strings. The strings can be string literals or a variable containing string literals.

6
Python Activity 2: Input and Variables in Python

9. State what is displayed on the screen when the following program is executed:

_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________

Application Questions: Use the Python Interpreter to input your code and check your work

1. State a good variable name for an employee’s ID number. ________________________________

2. Write a line of Python code that prompts the user for the name of their favorite ice cream and stores it
in a valid variable name. __________________________________________________________

3. Crazy Sentence Program. Create a program that prompts the user for the name of an animal, a color,
the name of a vehicle, and the name of a city. Then print a sentence that contains the user input in the
following order. Include the additional words in the sample output as part of your output. Example:
Assume the user enters the words: tiger, green, motorcycle, and Wildwood. The output would be:
The green tiger drove the motorcycle to Wildwood.
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________

7
Name: _______________________________________
Python Activity 3: Predefined Functions
“How can I use the built-in code that is already part of Python?”

Learning Objectives
Students will be able to:
Content:
Explain the purpose of a predefined function
Explain the functions: abs(), pow(), int() round(), random
Explain the math library functions: floor() and ceil()
Explain the use of the import statement
Explain the purpose of a function argument
Process:
Write code that uses predefined functions
Prior Knowledge
Python concepts from Activities 1-3
Understanding of flowchart input symbols
Further Reading
Transitioning from Visual Logic to Python: Chapter 4

Model 1: Predefined functions in Python


print(), round(), abs(), pow(), int(), etc. are known as predefined functions. Information that a function
needs to do its work is sent to the function between the parentheses (). This information is known as an
argument. To use a function, call the function. input(“Enter your name”) is a call to the input function
sending the string “Enter your name” as an argument

Critical Thinking Questions:


10. Circle the predefined functions in the following program.

11. Draw a line between each statement in the Python program and its
corresponding statement in the flowchart.

8
Python Activity 3: Predefined Functions

12. Enter and execute the Python program on the previous


page. a. What is the output for each statement ?
print(abs(-4.67)) _________________________
print(pow(5,3)) _________________________
print(pow(49,.5)) _________________________
print(int(34.8)) _________________________
print(round(6.9)) _________________________
import random
print(random.randint(1,100)) ___________________

b. What is the difference between the round() function and the int() function?
______________________________________________________________________________
______________________________________________________________________________

4. What is the output for each line of code? Verify your answers by executing the code and explain the
answer given by the interpreter.
a. abs(4.5) _________________________________________________

b. int(“678”) _________________________________________________

c. round(-5.6) _________________________________________________

d. import random
random.randint(4,10) ___________________________________________

What is the purpose of “import random”? What happens if you omit that line of code?
______________________________________________________________________________
______________________________________________________________________________

5. Write a definition of a predefined function.


______________________________________________________________________________
______________________________________________________________________________

6. Circle the argument in the following predefined function:


number = 45.78
answer = round(number)

7. How many arguments can a function have? _______________________________________

8. answer = pow(4,3). What is/are the argument(s) in this code? ______________________

9. If a function contains more than one argument, do you think the order of the arguments makes
a difference? Explain your answer.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

9
Python Activity 3: Predefined Functions

10. Execute the following code:


import math
x = 4.7
y = 5.3
z = -4.8
a = -3.2
print(math.ceil(x))
print(math.ceil(y))
print(math.ceil(z))
print(math.ceil(a))
print(math.floor(x))
print(math.floor(y))
print(math.floor(z))
print(math.floor(a))

a. Explain what the ceil() function does.


________________________________________________________________________
________________________________________________________________________

b. Explain the purpose of the floor() function.


________________________________________________________________________
________________________________________________________________________

c. Why are the calls to the math() and ceil() functions preceded by “math.”?
________________________________________________________________________
________________________________________________________________________

Application Questions: Use the Python Interpreter to check your work

1. Write a line of code that prints the integer portion of the number 21.45.
______________________________________________________________________________

2. Write code that prompts the user for a floating point number and prints the smallest integer that is
larger than the number the user entered.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

3. Write a line of code that prints a random number between one and 6.
______________________________________________________________________________
______________________________________________________________________________

4. Assume that a user enters any number and that the number is stored in the variable userNumber.
Write a line of code that converts the input to a float. Then write a line of code that prints the
positive value of the user’s input.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

5. Write a line of code that calculates the square root of 900 and stores the result in the variable
answer.
______________________________________________________________________________

10
Name: _______________________________________
Python Activity 4: Boolean Expressions and Selection Statements
“True or False and making choices”

Learning Objectives
Students will be able to:
Content:
Explain the three types of programming structures
Explain how conditional operators and logical operators are used in programming
Use conditional operators with strings and numeric values
Implement the Python syntax of an if/else statement
Determine good test data for programs that include if/else statements
Process:
Write code that includes if statements and if/else statements
Write correct Boolean expressions and compound expressions
Prior Knowledge
Python concepts from Activities 1-4
Understanding of flowchart input symbols
Further Reading
Transitioning from Visual Logic to Python: Chapter 5

Model 1: Programming Structures


Sequence Structure Decision or Branching Structure Looping Structure

Critical Thinking Questions:


1. Each of the flowchart symbols in the chart above represents lines or segments of code. After
examining the chart, write a description of:
a. sequence structure ________________________________________________________
________________________________________________________________________

b. decision or branching structure _____________________________________________


_______________________________________________________________________

c. looping structure ____________________________________________________


________________________________________________________________________

11
Python Activity 4: Boolean Expressions and Selection Statements

2. Which structure best describes the types of Python programs you have written so far? Do
you think this structure is the best structure to use for all programs? Why or why not?
______________________________________________________________________________
______________________________________________________________________________

3. Which structure allows the programmer to create code that decides what code is executed?
_____________________________________________________________________________

Model 2: Conditional Operators


Conditional operators, also known as relational operators, are used to compare the relationship
between two operands. Expressions that can only result in one of two answers are known as
Boolean expression.

4. Determine the meaning of each of the following conditional


operators. If you are not sure of the meaning of any symbol, create
some example expressions, type them into the Python interpreter (see
figure to the right) and examine the results.

a. < ___________ b. > ____________


c. <= ___________ d. >= ____________
e. != ___________ f. == ____________

5. What is the result of each of the following expressions?


Assume x = 4, y = 5, z = 4
a. x>y ______________________________________
b. x<y ______________________________________
c. x == y ______________________________________
d. x != y ______________________________________
e. x >= z ______________________________________
f. x <= z ______________________________________
g. x+y>2*x ______________________________________
h. y * x – z != 4 % 4 + 16 ______________________________________
i. pow(x,2) == abs(-16) ______________________________________

6. What is the result of the following expressions?


Assume word1 = “hello”, word2 = “good-bye”

a. word1 == word2 ______________________________________


b. word1 != word2 ______________________________________
c. word1 < word2 ______________________________________
d. word1 >= word2 ______________________________________

12
Python Activity 4: Boolean Expressions and Selection Statements

7. Explain how the conditional operators are used when the operands are strings.
______________________________________________________________________________
______________________________________________________________________________

8. There are only two possible answers to the expressions in questions 5 and 6. What are they?
_______________________________________________________________________________

Model 3: IF/ELSE Statement


Flow chart Python Program

9. What is the Python code equivalent of the diamond flowchart symbol in the program above?
________________________________________________________________________

10. Enter and execute the following code. Use various values for the original cost and the sale price.

Explain what the following lines of code do. Each line appears in the program above.
a. originalPrice = int(originalPriceString)
________________________________________________________________________
b. percentOff =(originalPrice - salePrice)/originalPrice * 100
________________________________________________________________________
c. print("Sale price: $%.2f" %salePrice)
________________________________________________________________________
d. print("Percent off: %2d" % percentOff + "%")
________________________________________________________________________
e. if percentOff >= 50:
print("You got a great sale!")
________________________________________________________________________

13
Python Activity 4: Boolean Expressions and Selection Statements

11. Revise the program in #10. If the percent off is 50% or more print “Congratulations!” in
addition to what is already printed. Use a second print statement to do this. Write the code for
this part of the program.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

12. Revise the program in #12 so that it prints “Done!” when the program is complete – no matter
what the percent off is. How does the placement of this line of code differ from the placement of
the code created for #12?
______________________________________________________________________________
______________________________________________________________________________

Python Program

Flowchart

13. Compare the flowchart above with the corresponding Python Program. Carefully compare
if/else statement in the two programs. Enter and execute the Python program above.

a. Test the program at least three times. List the three test data you used and the
corresponding output. Explain why they were the best data to use as a test for the
program.
________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

14
Python Activity 4: Boolean Expressions and Selection Statements

b. Now you want to add another print statement to the Python program above so that it
printed “That’s really hot!” when the water is 212 degrees or hotter. Rewrite the code
below with this statement included.
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

FYI: We can use logical operators to determine logic between conditions (relational expressions).

14. Sometimes you want to test more than one condition to determine which code segment should be
executed. You can use the following logical operators to create compound conditions. Examine
each operator and a sample of its use. Provide an explanation of how each operator works.

Operator Example Explanation


and (age >= 17) and (hasLicense = = true)

or (cost < 20.00) or (shipping = = 0.00)

not not (credits> 120)

15. Assume the value of the variable numBooks is 40. State the values of each of the Boolean
expression.

Expression Value
(numBooks > 5) and (numBooks < 100)

(numBooks < 5) or (numBooks > 100)

not(numBooks * 10 == 100)

16. Suppose you want to determine if a student is ready to graduate. The 3 criteria for graduation are
that the student has earned at least 120 credits, their major GPA is at least 2.0 and their general
GPA is also at least 2.0.

Missing Boolean expression

15
Python Activity 4: Boolean Expressions and Selection Statements

Which Boolean expression would be the correct test for Python code?
a. numCredits >= 120 or majorGPA >= 2.0 or overallGPA >= 2.0
b. numCredits > 120 and majorGPA > 2.0 or overallGPA > 2.0
c. numCredits > 119 and majorGPA >= 2.0 and overallGPA >= 2.0
d. numCredits >= 120 and majorGPA >= 2.0 and overallGPA >= 2.0

17. Enter and execute the program in #16. Include your choice for the correct Boolean expression.
Create several data sets to test all possibilities for the Boolean expression. List the data you
used to test all possibilities for the expression.

Data Set numCredits majorGPA overallGPA Expression Result (True or False)


1
2
3
4
5
6
7
8
9
10

Application Questions: Use the Python Interpreter to check your work

1. Write a Boolean expression that tests if the value stored in the variable num1 is equal to the
value stored in the variable num2.
______________________________________________________________________________

2. Write a Boolean expression that tests if the value stored in the variable time is less than the
value stored in the variable maxTime or if the value stored in the variable cost is less than the
value stored in the variable maxCost
______________________________________________________________________________

3. Write the code for an if statement that adds 5 to the variable num1 if the value stored in the
variable testA equals 25. Otherwise subtract 5 from num1.
______________________________________________________________________________

4. Write the code for an if statement that prints a random number between one and 6 if the
value stored in the variable isValid equals the Boolean value true.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

16
Python Activity 4: Boolean Expressions and Selection Statements

5. Write a Python program that prompts the user for the cost of two items to be purchased. Then
prompt the user for their payment. If they enter an amount that is less than the total cost of the
two items, print a message that tells them how much they still owe. Otherwise, print a message
that thanks them for their payment and tells them how much change they will receive.
Thoroughly test your code for all possible input.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

6. Write a Python program that prompts the user for a word. If the word comes between the words
apple and pear alphabetically, print a message that tells the user that the word is valid, otherwise,
tell the user the word is out or range.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

7. Write a Python program that prompts the user for a multiple of 5 between 1 and 100. Print a
message telling the user whether the number they entered is valid.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

17
Name: _______________________________________
Python Activity 5: Functions
“Modularizing your code”

Learning Objectives
Students will be able to:
Content:
Explain the meaning and purpose of a function
Recognize a function definition, function header, and function call in a
program Combine the use of functions with if/else statements
Explain programs that use the same function multiple times
Use good test data for programs that include functions
Process:
Write code that includes function definitions and function calls
Write programs that incorporate functions and if/else statements
Prior Knowledge
Python concepts from Activities 1-5
Understanding of flowchart input symbols
Further Reading
Transitioning from Visual Logic to Python: Chapter 6

Critical Thinking Questions:


Python Program

Flowchart

18
Python Activity 5: Functions

FYI: A function is a segment of code that performs a single task.

1. Closely examine the flowchart and Python program above.


a.Draw arrows between each flowchart symbol and the equivalent Python code.

FYI: A function definition is the segment of code that tells the program what to do when the
function is executed. The first line of a function definition is known as the function
header

b. What Python keyword is used to indicate that a code segment is a function definition?
________________________________________________________________________

c. What is the function header in the Python code above?


________________________________________________________________________

d. The name of the function is in the function header. What is the name of the function?
________________________________________________________________________

e. Examine the Python function. Explain the syntax required for a function: indentation,
etc.
________________________________________________________________________
________________________________________________________________________

f. Enter and execute the Python program. What is the output?


________________________________________________________________________

g. What line of code would you add to the program to print the last two lines twice? Where
would you add the code?
________________________________________________________________________
________________________________________________________________________

2. Examine the following program

a. Label the function definition and the function call.

b. The function call and the function definition each include a variable within the
parentheses. The variable in this role is known as an argument. What is the argument
in the function definition? What is its purpose?
________________________________________________________________________
________________________________________________________________________

19
Python Activity 5: Functions

c. In this example the argument in the function definition and the argument in the function
call have the same name. Is this required? _______________________________

d. Enter and execute the program. Verify your answer to question ‘c’ by changing the
variable name in the main program from radius to number. Do not change the variable
name in the function definition. Does the program still work? __________________

e. Write a line of code that calls the calculateArea function and sends the value “6” as the
argument. Add the line of code to the main program and execute it to be sure it works
properly. _______________________________________________________________

f. Add a second function to the program that calculates and prints the diameter of a circle,
given the radius as an argument (parameter). Place the function definition above the
main part of the program. Write the function below.
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

g. Add another line of code to the main part of the program that calls the function that was
created in part ‘f’. Send the radius entered by the user as the argument to the function.
________________________________________________________________________

3. What is the purpose of a function? Why do programmers use them?


______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

4. Carefully examine the following program.

a. What is the first line of code executed by the Python interpreter?


________________________________________________________________________

20
Python Activity 5: Functions

b. Enter and execute the program. Use the following test data and indicate what the output
is for each set of data.

Data Set Operand 1 Operand 2 Operator Result


1 2 6 +
2 3 8 -
3 34 23 +
4 4 5 /

c. What problems did you notice when you entered Data Sets 3 and 4?
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

d. Add code to the program that would warn the user about the problems that could occur
when data similar to that in Data Sets 3 and 4 are entered. See sample output below. List
the lines of code below the sample output.

________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

21
Python Activity 5: Functions

FYI: So far, the functions you have printed any results within the function. They did not send
back any information to the original calling code. Functions that do not send back
information to where they are called are known as void functions. Functions often send
back or return the result and are known as value returning functions.

5. Enter and execute the code below. Carefully examine the code.

a. What is the new keyword used in the function definition? What do you think the
keyword tells the program to do?
________________________________________________________________________
________________________________________________________________________

b. Write the line of code from the program that includes the function call to getSmaller.
________________________________________________________________________

c. In a void function, the function call is on a line by itself. Why is this function call
placed on the right-hand-side of an assignment statement?
________________________________________________________________________
________________________________________________________________________

d. What are the arguments used for the function call? _______________________________

6. Examine the following Python program.

a. What does the program do?


________________________________________________________________________
b. Circle the function call. What is different about the placement of the function call?
________________________________________________________________________

22
Python Activity 5: Functions

c. Is the function a void function or a value returning function? ____________________

d. Why is the import statement needed in this program?


_______________________________________________________________________

7. The following Python program performs the same operations and produces the same output as
the previous program. Describe the major differences between the two programs. Edit the
previous program so that it looks like this one and execute it.

______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

Application Questions: Use the Python Interpreter to check your work


1. Write a function that draws a frog. Call the function to be sure it works. Sample frog:

______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

23
Python Activity 5: Functions

2. Expand the program in #1 to produce the following output.

____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________

3. Write a Python program that prompts the user for three words and prints the word that comes last
alphabetically. Use a function to create the program.

___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

24
Name: _______________________________________
Python Activity 6: Nested IF/ELSE Statements
“Decisions, decisions – decisions within decisions!”

Learning Objectives
Students will be able to:
Content:
Explain the purpose of a nested if-else statement
Explain how to use Python if-elif structure
Explain how to test code using Python if-elif structure
Process:
Write code that includes if-elif statements
Write code that uses if-elif statements and functions
Prior Knowledge
Python concepts from Activities 1-6
Understanding of flowchart input symbols
Further Reading
Transitioning from Visual Logic to Python: Chapter 7

Critical Thinking Questions:

1. Closely examine the flowchart and Python program above.


Python Program

Flowchart

25
Python Activity 6: Nested IF/ELSE Statements

a. Draw arrows between each flowchart symbol and the equivalent Python code.

b. In the Python code, circle the if/else statement that is nested within another if/else statement.

c. Enter and test the code. List five numbers that you would use to test this program.
Indicate why you chose the numbers.

Number Why chosen

2. Enter and execute the following Python program using the same data as you used for #1c.

a. How does the output for this program compare with the output for the previous program?
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

b. What new keyword is used in this program? _______________________________________

c. Notice the syntax of this program compared to the previous program. Which program
contains simpler indentation? _____________________________________________

FYI: elif is the Python keyword that represents else if and allows you to test for one of several options. As
soon as one of the tests is true, the rest are ignored.

d. You can use elif as many times as you need to. Suppose you wanted to add the comment
“Good!” for grades that are between 80 and 89. Where would you add it? Write the code for
this additional choice.
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

e. Does the placement of an additional elif clause matter? ______________________________

f. When is the code associated with the else statement executed?


___________________________________________________________________________

26
Python Activity 6: Nested IF/ELSE Statements

g. Describe how an if/elif/else statement works.


___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

h. Change the program in #2 so that it prints the following messages. Write the code below.

Greater than 90 “Very Good!”


Between 80 and 89 “Good!”
Between 70 and 79 “Satisfactory”
Between 60 and 69” “Fair”
Less than 60 “Poor”

___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

i. Make a final change to the program so that it prints an error message if the grade entered
is greater than 100 or less than 0.
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

3. Is the use of the else statement mandatory when creating an if/elif statement? Explain your
answer.
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________

27
Python Activity 6: Nested IF/ELSE Statements

Application Questions: Use the Python Interpreter to check your work


1. Write an if/elif statement that assigns a value to the variable bonus depending on the amount of sales.
Assume the amount of the sales is stored in a variable called sales.
Sales Bonus
>= 100,000 10,000
>= 75,000 5,000
>= 50,000 2,500
>= 25,000 1,000
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________

2. Carefully examine and then complete the following Python program. The program prompts the user
to enter a number between 1 and 5 and also generates a random number between 1 and 5. The
program prints the number the user enters and prints the random number. The program then
compares the two numbers. If the numbers are the same, it prints the message “You picked the
same number as the computer!”. If the number the user entered is higher than the random number,
the program should print “Your number is higher than the computer’s number.” Otherwise, it
should print: “Your number is smaller than the computer’s number”.

Explain what the if/else statement does in the Main Program.

28
Python Activity 6: Nested IF/ELSE Statements

29
Name: _______________________________________
Python Activity 7: Looping Structures – WHILE Loops
“Repeating code”

Learning Objectives
Students will be able to:
Content:
Explain the three parts of a loop
Explain the syntax of a while loop
Explain sentinel-controlled and counter controlled
loops Explain short-cut operators
Process:
Write code that includes sentinel-controlled and counter controlled loops
Write code that uses short-cut operators
Prior Knowledge
Python concepts from Activities 1-7
Understanding of flowchart input symbols
Further Reading
Transitioning from Visual Logic to Python: Chapter 8

Critical Thinking Questions


1. Closely examine the flowchart and Python program below.
FYI: A looping structure allows a block of code to be repeated one or more times. A while loop is
one of the two looping structures available in Python.

Python Program Flowchart

a. Draw arrows between each flowchart symbol and the equivalent Python code.

b. In the Python code, circle all the code associated with the WHILE loop.

30
Python Activity 7: Looping Structures – WHILE Loops

c. Enter and test the code. What does the line of code: x=x+1 do?
___________________________________________________________________________

d. How does the Python interpreter know what lines of code belong to the loop body?
___________________________________________________________________________

e. Every loop structure requires three actions. Identify the line of code in the
Python program that corresponds to each of the three actions.
  
Initialize a variable used in the test condition:
________________________________________________________________________
  
Include a test condition that causes the loop to end when the condition is false:
________________________________________________________________________
  
Within the loop body, update the variable used in the test condition:
________________________________________________________________________

2. Enter and execute the following code.

_______________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________

a. Beside each line of code below explain what the code does.

b. Explain the difference between the two print statements.


________________________________________________________________________
________________________________________________________________________

3. The following code should print the numbers from 1 to 10, but it does not print
anything. Correct the problem.

number = 12
while number <= 10:
print(number)
number = number + 1

4. Enter and execute the following


code: number = 0
while number <= 10:
print(number)
number = number - 1

a. Describe the output.____________________________________________________

31
Python Activity 7: Looping Structures – WHILE Loops

b. What caused the output to be what it was?


________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

c. Does the program end? Why or why not? ________________________________


_______________________________________________________________________

6. Enter and execute the following code:


number = 1
while number <= 10:
if number % 2 == 0:
print(number, end= " ")
number = number + 1

a. State the output.


________________________________________________________________________

b. What caused the output to display on one line?


________________________________________________________________________
________________________________________________________________________

c. What control structures are used in this code?


________________________________________________________________________

7. We want to create a program that prompts the user to enter a number between 1 and 10. As long
as the number is out of range the program re-prompts the user for a valid number. Complete the
following steps to write this code.

a. Write a line of code the prompts the user for number between 1 and 10.
________________________________________________________________________

b. Write a Boolean expression that tests the number the user entered by the code in step “a.”
to determine if it is not in range.
________________________________________________________________________

c. Use the Boolean expression created in step “b.” to write a while loop that executes when
the user input is out of range. The body of the loop should tell the user that they entered
an invalid number and prompt them for a valid number again.
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

d. Write a line of code that prints a message telling the user that they entered a valid
number.
________________________________________________________________________

e. Put the segments of code from steps “a-d” together. Enter and execute the code. Does it
work properly? If not, correct it and test it again. _________________________

32
Python Activity 7: Looping Structures – WHILE Loops

f. How many times does the loop execute? ______________________________________

FYI: A looping structure for which you know the number of times it will execute is known as a
count-controlled loop.

8. Sometimes a programmer does not know how many times data is to be entered. For example,
suppose you want to create a program that adds an unspecified amount of positive numbers
entered by the user. The program stops adding numbers when the user enters a zero or a
negative number. Then the program prints the total. Before creating this program, review the
three actions required for all loops:

a. Initialize a variable that will be used in the test condition: What will be tested to
determine if the loop is executed or not? Write a line of code that initializes a variable to
be used in the test condition of the loop for this program. The variable should contain a
value entered by the user.
________________________________________________________________________

b. Include a test condition that causes the loop to end when the condition is false: What
is the test condition for the while loop used in this program?
________________________________________________________________________

c. Within the loop body, update the variable used in the test condition: Write the code
for the loop body. Include the code to update the variable in the test condition.
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

d. Is this a count-controlled loop? Why or why not?


________________________________________________________________________

e. Complete the program. Enter and execute the code. Does it work properly? __________

FYI: Short-cut operators provide a concise way of creating assignment statements when the
variable on the left-hand side of the assignment statement is also on the right-hand side. The
addition short-cut operator (+=) is usually used for incrementing a variable.

9. Enter and execute the following


code: number = 1
number += 3
print(number)

a. What does the “+=” shortcut operator do?


________________________________________________________________________

b. The code: x += 5 is equivalent to which of the following lines of code?


x=5 x=x+5
x=y+5 y=x+5

33
Python Activity 7: Looping Structures – WHILE Loops

c. Replace the operator ‘+=’ with the following shortcut operators and execute the code.
Explain what each operator does.
-= _________________________________________________________

*= _________________________________________________________

10. Enter and execute the following


code: bonus = 25
salary += bonus
print(“Total salary:”, salary)

a. What is the output of the preceding code? Is it what you expected?


________________________________________________________________________

b. Edit the code so that it produces valid output.


________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

c. As a result of correcting this code segment, what is needed in order for the shortcut
operators to work properly?
_______________________________________________________________________

d. Is the following line of code valid: 23 += total? Why or why not?


________________________________________________________________________

11. The following code should print the numbers beginning at 100 and ending with 0. However it is
missing a line of code. Add the missing code, using the shortcut operator. Indicate where the
code belongs.
countdown = 100
while countdown > 0:
print(countdown)
print(“Done!”)
________________________________________________________________________

12. Enter and execute the following code:


doAgain = "y"
while doAgain == "y":
word = input("Enter a word:")
print("First letter of " + word + " is " + word[0]) doAgain
= input("Type ‘y’ to enter another word and anything
else to quit.")
print("Done!")

a. What does the program do?


________________________________________________________________________

b. What is the name of the variable used to store the user’s input? ____________________

c. In the print statement, what does word[0]represent? ___________________________

34
Python Activity 7: Looping Structures – WHILE Loops

d. If you changed 0 to 1 in word[0]in the print statement above, what is printed?


________________________________________________________________________

e. When does the program end? _____________________________________________

FYI: A sentinel-controlled while loop is a loop that repeats the loop body until the user enters a pre-
specified value.

g. Why is the loop in this program is an example of a sentinel control loop?


________________________________________________________________________

h. Examine the print statement in this program:


print("First letter of " + word + " is " + word[0])
What is the purpose of the “+” as part of the argument in the print statement?
What happens if you replace the “+” with a “,”?
________________________________________________________________________
________________________________________________________________________

13. Examine the code below.


name = “Simone”
cost = 3.56
numApples = 89

What type of data is stored in each variable: (integer, floating point, or string)
name – __________________________
cost – __________________________
numApples – __________________________

FYI: A variable that can store only the values True and False is called a Boolean variable.

14. Given the assignment statement: foundCost = False


What value is stored in the variable foundCost? ________________________________
What type of data is stored in foundCost? ________________________________

15. Enter and execute the following code:

a. What type of variable is ‘doAgain’?_______________________________________

35
Python Activity 7: Looping Structures – WHILE Loops

b. What does the program do?


________________________________________________________________________
________________________________________________________________________

c. What does the following line of code do?


maxNum1 = max(num1, num2, num3, num4)
________________________________________________________________________

d. Experiment with the arguments in the max() function in the program to determine if the
function must have four arguments. Demonstrate your answer.
________________________________________________________________________
________________________________________________________________________

e. What does the following code in the program do?


if another != 'y':
doAgain = False
________________________________________________________________________

Application Questions: Use the Python Interpreter to check your work


1. Write a code segment that prompts the user for an even number. As long as the number
is not even, the user should be given a message and prompted again for an even number.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

2. Write code segment that prompts the user for a letter from ‘a-z’. As long as the character is not
between ‘a-z’, the user should be given a message and prompted again for a letter between ‘a-z’.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

3. Complete the following program:

______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

36

Вам также может понравиться