Задача 1. Чи високосний рік, номер якого введено з клавіатури?
Рік високосний, якщо він ділиться на 4, і при цьому не ділиться на 100 або якщо ділиться на 400.
r=int(input("Введіть рік"))
if((r % 4==0) and (r % 100 !=0) or ( r % 400==0)):
l=1
else:
l=0
Задача 2. Чи коректна дата, введена з клавіатури?
Дата некоректна, коли введена некоректна комбінація дня і місяця (30 лютого, 31 листопада...).
# введення даних
d=int(input("Введіть день"))
m=int(input("Введіть місяць"))
r=int(input("Введіть рік"))
# перевірка високосності
if((r % 4==0) and (r % 100 !=0) or ( r % 400==0)):
l=1
else:
l=0
correct=True
# перевіряємо місяці на 31 день
if (((m==1)or(m==3)or(m==5)or(m==7)or(m==8)or(m==10)or(m==12))and(d>31)):
correct=False
# перевіряємо місяці на 30 днів
if (((m==4)or(m==6)or(m==9)or(m==11))and(d>30)):
correct=False
# перевіряємо лютий
if ((m==2)and(l==1)and(d>29)):
correct=False
if ((m==2)and(l==0)and(d>28)):
correct=False
# виведення результату
if (correct):
print("Дата коректна")
else:
print("Дата некоректна")
Задача 3. Доповнити програму перевіркою введення неіснуючого місяця, а також від'ємних чисел
Задача для самостійного розв'язання
Задача 4. Визначити завтрашню дату
d=int(input("Введіть день"))
m=int(input("Введіть місяць"))
r=int(input("Введіть рік"))
if((r % 4==0) and (r % 100 !=0) or ( r % 400==0)):
l=1
else:
l=0
EndOfMonth=False
# перевіряємо місяці на 31 день
if (((m==1)or(m==3)or(m==5)or(m==7)or(m==8)or(m==10)or(m==12))and(d==31)):
EndOfMonth=True
# перевіряємо місяці на 30 днів
if (((m==4)or(m==6)or(m==9)or(m==11))and(d==30)):
EndOfMonth=False
# перевіряємо лютий
if ((m==2)and(l==1)and(d==29)):
EndOfMonth=False
if ((m==2)and(l==0)and(d==28)):
EndOfMonth=False
#перевіряємо грудень
if ((m==12) and (d==31)):
d=1
m=1
r=r+1
elif (EndOfMonth):
d=1
m=m+1
else:
d=d+1
print("Завтра буде ", d, ".",m ,"." , r)
Задача 5. Визначити вчорашню дату
Задача для самостійного розв'язання.
Потрібно опрацювати показник початку місяця.
Задача 6. Визначити, скільки днів пройшло від початку року