Pełnoletność (18 lat)

Zadanie 2 z 9 · rozdział 3Trudność: 1 z 3datyporównywanieif

Treść zadania

Wczytaj datę urodzenia oraz datę „dzisiejszą” i sprawdź, czy osoba ma ukończone 18 lat w dniu daty dzisiejszej.

Pełnoletność osiąga się w dniu 18. urodzin. Osoba jest więc pełnoletnia wtedy, gdy data (d1, m1, y1 + 18) jest nie późniejsza niż data dzisiejsza (d2, m2, y2). Daty porównuj najpierw po roku, przy równych latach po miesiącu, a przy równych miesiącach po dniu.

Wypisz:

  • Osoba jest pełnoletnia. — jeśli ma ukończone 18 lat,
  • Osoba nie jest pełnoletnia. — w przeciwnym razie.

Dane wejściowe

6 liczb całkowitych, każda w osobnej linii:

  1. d1 — dzień urodzenia
  2. m1 — miesiąc urodzenia
  3. y1 — rok urodzenia
  4. d2 — dzisiejszy dzień
  5. m2 — dzisiejszy miesiąc
  6. y2 — dzisiejszy rok

Dane wyjściowe

Jedna linia — jeden z komunikatów.

Ograniczenia

  • Obie daty są poprawne (nie musisz ich sprawdzać), $1 \le y1, y2 \le 9999$.
  • Data urodzenia nie jest późniejsza niż data dzisiejsza.

Uwagi

  • Porównujesz same liczby, więc data (d1, m1, y1 + 18) nie musi istnieć w kalendarzu. Osoba urodzona 29 lutego obchodzi 18. urodziny w roku nieprzestępnym (np. urodzona 29.02.2004 — w 2022 roku), więc zgodnie z regułą 28 lutego jest jeszcze niepełnoletnia, a pełnoletnia staje się 1 marca.

Przykład

Wejście
5
12
1999
20
11
2020
Wyjście
Osoba jest pełnoletnia.

Osiemnaste urodziny wypadły 5.12.2017, a więc przed 20.11.2020.

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 3

Zadania w tym rozdziale dotyczą walidacji i obliczeń na datach w kalendarzu gregoriańskim.

Konwencje wspólne:

  • Każde zadanie to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
  • Liczby wczytuj z osobnych linii, w kolejności z opisu. Data jest zawsze podawana jako trzy liczby: dzień, miesiąc, rok.
  • Komunikaty wypisuj dokładnie jak w treści (kropki, polskie znaki, wielkość liter, spacje).
  • Jeśli zadanie mówi „nie wypisuj nic” — program kończy się bez żadnego wyjścia.
  • Program nie wypisuje komunikatów typu „Podaj liczbę:”. Tekst podany w input("…") jest ignorowany przez sprawdzarkę.
  • We wszystkich zadaniach obowiązuje kalendarz gregoriański (także dla lat sprzed 1582 roku). Rok jest przestępny, gdy jest podzielny przez 4 i nie jest podzielny przez 100, albo gdy jest podzielny przez 400 (np. 2024 i 2000 są przestępne, a 2023 i 1900 — nie). Luty ma w roku przestępnym 29 dni, a w nieprzestępnym 28.

Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.

Python uruchomi się w przeglądarce przy pierwszym teście.

Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.

Testy

Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.

Test 1

Nie uruchomiono
Wejście
20
11
2006
20
11
2024
Oczekiwane wyjście
Osoba jest pełnoletnia.

Test 2

Nie uruchomiono
Wejście
21
11
2006
20
11
2024
Oczekiwane wyjście
Osoba nie jest pełnoletnia.

Test 3

Nie uruchomiono
Wejście
29
2
2004
28
2
2022
Oczekiwane wyjście
Osoba nie jest pełnoletnia.

Test 4

Nie uruchomiono
Wejście
29
2
2004
1
3
2022
Oczekiwane wyjście
Osoba jest pełnoletnia.

Test 5

Nie uruchomiono
Wejście
1
3
2006
29
2
2024
Oczekiwane wyjście
Osoba nie jest pełnoletnia.

Test 6

Nie uruchomiono
Wejście
15
6
2010
1
1
2020
Oczekiwane wyjście
Osoba nie jest pełnoletnia.

Test 7

Nie uruchomiono
Wejście
31
12
1980
1
1
2000
Oczekiwane wyjście
Osoba jest pełnoletnia.

Test 8

Nie uruchomiono
Wejście
1
12
2000
30
11
2018
Oczekiwane wyjście
Osoba nie jest pełnoletnia.
Uruchom z własnymi danymi