P ython p rogramming e xercises



Yüklə 1,51 Mb.
Pdf görüntüsü
səhifə33/124
tarix14.05.2023
ölçüsü1,51 Mb.
#113537
1   ...   29   30   31   32   33   34   35   36   ...   124
PythonProgrammingExercisesGentlyExplained

Solution Design 
Think about how you would solve this problem without a computer, given a list of numbers 
written on paper. You would use the first number as the smallest number, and then read every 
number after it. If the next number is smallest than the smallest number you’ve seen so far, it 
becomes the new smallest number. Let’s look at a small example. Figure 12-1 shows how looping 
over the list [28, 25, 42, 2, 28] would affect the contents of a variable named smallest 
that tracks the smallest number seen so far. 
Figure 12-1: The value in smallest contains the smallest integer found so far as the for loop 
iterates over the list [28, 25, 42, 2, 28]. 
Creates a variable named smallest to track the smallest value found so far and set it to the first 
value in the list to start. Then have a for loop that loops over every number in the list from left to 
right, and if the number is less than the current value in smallest, it becomes the new value in 
smallest
. After the loop finishes, the function returns the smallest value. 
Special Cases and Gotchas 
The function should first check if the list is empty. In that case, return None. And by starting the 
smallest
variable to the first number in a non-empty numbers list, you can guarantee that 
smallest
is always initialized to a value from 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. 


Python Programming Exercises, Gently Explained 
40 
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/smallest-template.py 
and paste it into your code editor. Replace the underscores with code to make a working program: 
def getSmallest(numbers): 
# If the numbers list is empty, return None: 
if len(____) == ____: 
return None 
# Create a variable that tracks the smallest value so far, and start 
# it off a the first value in the list: 
smallest = numbers[____] 
# Loop over each number in the numbers list: 
for number in ____: 
# If the number is smaller than the current smallest value, make 
# it the new smallest value: 
if ____ < smallest: 
____ = number 
# Return the smallest value found: 
____ smallest 
The complete solution for this exercise is given in Appendix A and https://invpy.com/smallest.py
You can view each step of this program as it runs under a debugger at https://invpy.com/smallest-debug/

Yüklə 1,51 Mb.

Dostları ilə paylaş:
1   ...   29   30   31   32   33   34   35   36   ...   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