P ython p rogramming e xercises


Special Cases and Gotchas



Yüklə 1,51 Mb.
Pdf görüntüsü
səhifə77/124
tarix14.05.2023
ölçüsü1,51 Mb.
#113537
1   ...   73   74   75   76   77   78   79   80   ...   124
PythonProgrammingExercisesGentlyExplained

Special Cases and Gotchas 
There’s nothing unexpected about printing these boxes. While there are many things to keep 
track of, always remember that the number of space and dash characters you print in each row is 
always relative to the size parameter. There will be size pipe and slash characters in each vertical 
line, and size * 2 dash characters in each horizontal line. 
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/boxdrawing-
template.py and paste it into your code editor. Replace the underscores with code to make a working 
program: 
def drawBox(size): 
# Special case: Draw nothing if size is less than 1: 
if size < ____: 
return 
# Draw back line on top surface: 
print(' ' * (____ + 1) + '+' + '-' * (____ * 2) + '+') 
# Draw top surface: 
for i in range(____): 
print(' ' * (____ - i) + '/' + ' ' * (____ * 2) + '/' + ' ' * i + '|') 
# Draw top line on top surface: 
print(____ + ____ * (size * 2) + ____ + ' ' * size + '+') 
# Draw front surface: 
for i in range(size - 1, ____, ____): 
print(____ + ' ' * (size * ____) + ____ + ' ' * i + ____) 


Python Programming Exercises, Gently Explained 
94 
# Draw bottom lie on front surface: 
print(____ + ____ * (size * 2) + ____) 
# In a loop, call drawBox() with arguments 1 to 5: 
for i in range(1, 6): 
drawBox(i) 
The complete solution for this exercise is given in Appendix A and https://invpy.com/boxdrawing.py
You can view each step of this program as it runs under a debugger at https://invpy.com/boxdrawing-
debug/

Yüklə 1,51 Mb.

Dostları ilə paylaş:
1   ...   73   74   75   76   77   78   79   80   ...   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