P ython p rogramming e xercises


Special Cases and Gotchas



Yüklə 1,51 Mb.
Pdf görüntüsü
səhifə92/124
tarix14.05.2023
ölçüsü1,51 Mb.
#113537
1   ...   88   89   90   91   92   93   94   95   ...   124
PythonProgrammingExercisesGentlyExplained

Special Cases and Gotchas 
You may think that you need two different algorithms depending on if the string to reverse has 
an odd or even number of characters. However, it turns out this doesn’t matter. If the text string 
has an odd number of characters, like the 5 characters in the list ['H', 'e', 'l', 'l', 'o'], 
then swapping the middle character at index 2 with itself doesn’t change the list. 
Now try to write a solution based on the information in the previous sections. If you still have 
trouble solving this exercise, read the Solution Template section for additional hints. 
Solution Template 
Try to first write a solution from scratch. But if you have difficulty, you can use the following 
partial program as a starting place. Copy the following code from https://invpy.com/reversestring-
template.py and paste it into your code editor. Replace the underscores with code to make a working 
program: 
def reverseString(text): 
# Convert the text string into a list of character strings: 
text = ____(text) 
# Loop over the first half of indexes in the list: 
for i in range(len(____) // ____): 
# Swap the values of i and it's mirror index in the second 
# half of the list: 


Python Programming Exercises, Gently Explained 
113 
mirrorIndex = len(text) - ____ - ____ 
text[i], text[mirrorIndex] = text[____], text[____] 
# Join the list of strings into a single string and return it: 
return ''.join(text) 
The complete solution for this exercise is given in Appendix A and 
https://invpy.com/reversestring.py. You can view each step of this program as it runs under a debugger at 
https://invpy.com/reversestring-debug/.


114 

Yüklə 1,51 Mb.

Dostları ilə paylaş:
1   ...   88   89   90   91   92   93   94   95   ...   124




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin