Exercises for Lesson 5
Exercise 0: Playing with chr
and ord
Show the output that would be generated by the following program fragment:
msg = ""
for ch in "fish":
newval = ord(ch) + 4
mystery = chr(newval)
print(mystery)
msg += mystery
print(msg)
Exercise 1: Working with strings
For this exercise, we’ll use the following statements:
s1 = "apple"
s2 = "banana!"
Exercise 1a: from expression to output
Predict the result of evaluating each of the following string expressions.
a) s1.index('a')
b) s2.split('n')
c) len(s2)
d) s1[8 % len(s1)]
Exercise 1b: from output to expression
Build a Python expression that could construct each of the following results by performing string operations on s1
and s2
.
s1 = "apple"
s2 = "banana!"
a) ['b', 'n', 'n', '!']
b) 4
Exercise 2: Basic list operations
For this exercise, we’ll use the following statements:
numbers = [3, 1, 4, 1, 5]
words = ["apple", "banana", "cat", "dog", "elephant"]
Predict the result of evaluating each of the following list expressions.
a) numbers[-1]
b) words[1:4]
c) words[1] + words[2]
d) len(numbers)
e) numbers + words
f) 2 * numbers + words
g) for word in words:
print(word[:3])
Exercise 3: Going backwards
Write a program to print a sequence of words in reverse order. You cannot use slicing or the existing reverse
list method.
(Hint: you should use split
to turn the provided string into a list
, and use the accumulator pattern to build the resulting list in reversed order. Think carefully about how you can change the typical body of an accumulator loop to put the new value at the beginning of the accumulator variable instead of the end of the variable.)
Here is an example interaction:
Please enter a sequence of words, separated by spaces: apple banana cat dog elephant fish
The sequence reversed:
fish elephant dog cat banana apple
Exercise 4: for
-loop patterns
Write a for
loop using the variables numbers
and words
to generate each output. Think about whether you need the element and/or its index for each loop.
numbers = [3, 1, 4, 1, 5]
words = ["apple", "banana", "cat", "dog", "elephant"]
a) ae
ba
ct
dg
et
b) 0 apple
1 banana
2 cat
3 dog
4 elephant
c) 3
1
4
1
5