P ython p rogramming e xercises


Special Cases and Gotchas



Yüklə 1,51 Mb.
Pdf görüntüsü
səhifə54/124
tarix14.05.2023
ölçüsü1,51 Mb.
#113537
1   ...   50   51   52   53   54   55   56   57   ...   124
PythonProgrammingExercisesGentlyExplained

Special Cases and Gotchas 
Outside of the complex list of rules, there are no particular gotchas for this exercise. The tricky 
part is to ensure that you have the conditions for the if and elif statements in the correct order. 
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/leapyear-template.py 
and paste it into your code editor. Replace the underscores with code to make a working program: 
def isLeapYear(year): 
# Years divisible by 400 are leap years: 
if ____ % 400 == ____: 
return ____ 
# Otherwise, years divisible by 100 are not leap years: 
elif ____ % 100 == ____: 
return ____ 
# Otherwise, years divisible by 4 are leap years: 
elif ____ % 4 == ____: 
return ____ 
# Otherwise, every other year is not a leap year: 
else: 
return ____ 
The complete solution for this exercise is given in Appendix A and https://invpy.com/leapyear.py
You can view each step of this program as it runs under a debugger at https://invpy.com/leapyear-debug/


65 
E X E R C I S E # 2 1 : V A L I D A T E D A T E
isValidDate(2005, 3, 29)
→ 
True 
isValidDate(2005, 13, 32)
→ 
False 
You can represent a date with three integers for the year, month, and day, but this doesn’t mean 
that any integers represent a valid date. After all, there is no 13
th
month of the year or 32
nd
day of any 
month. This exercise has you check if a year/month/day combination is valid, given that different 
months have different numbers of days. You’ll use the solution you wrote for Exercise #20, ―Leap 
Year‖ as part of the solution for this exercise, so finish Exercise #20 before attempting this one. 

Yüklə 1,51 Mb.

Dostları ilə paylaş:
1   ...   50   51   52   53   54   55   56   57   ...   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