Section 7.6 Looping and counting
The following program counts the number of times the letter “r” appears in a string:
This program demonstrates another pattern of computation called a counter. The variable count
is initialized to 0 and then incremented each time an “r” is found. When the loop exits, count
contains the result: the total number of r's.
Checkpoint 7.6.1.
11-9-2: What is printed by the following:
s = "peanut butter"
count = 0
for char in s:
if char == "t":
count = count + 1
print(count)
0
Incorrect! count is initialized to 0, but is then incremented by the for loop. Try again.
3
Correct! The letter t appears 3 times in "peanut butter".
4
Incorrect! The value of count is initially 0, not 1. Try again.
Nothing, this is an infinite loop
Incorrect! This for loop will eventually terminate because string s has a finite number of characters. Try again.
Checkpoint 7.6.2.
Solution.In line 2, lettercount should be initialized to 0. In line 4, there should be a ==, not a =. In line 5, the variable name should be changed to lettercount. In line 6, the return statement should be indented.
def count(text, aChar):
lettercount = 0
for c in text:
if c == aChar:
lettercount = lettercount + 1
return lettercount
In line 2, lettercount
should be initialized to 0. In line 4, there should be a ==
, not a =
. In line 5, the variable name should be changed to lettercount
. In line 6, the return statement should be indented.