Родословно дърво
- Краен срок:
- 01.04.2013 17:00
- Точки:
- 6
Срокът за предаване на решения е отминал
От както се занимаваме с програмиране, щом дойде реч за ООП ни се преподава нещо
за някакъв клас Person. За да не останем по-назад и ние ще ви дадем задача свързана с
клас Person.
class Person
Нашият човек като всеки друг трябва да си има редовните атрибути за име (name),
година на раждане (birth_year) и пол (gender). Ние искаме да симулираме опростена форма на родословно дърво.
Родители
Като всеки човек и нашият прототип може да има родители (father и mother) също от тип Person.
Минималната разлика в годините е 18 между родител и дете.
Братя и сестри
Всеки човек може да има (но не задължително) братя и сестри. Списък с братята и сестрите трябва да се връща от методите
съответно get_brothers() и get_sisters(). Очевидно при липсата на братя или сестри съответният метод трябва да връща празен списък.
Note: Братя са и двама души само с един общ родител
Директна родниска връзка
Имплементирайте метод children, който връща списък/тюпъл с децата на даден човек. Добавете и незадължителен аргумент (gender),
според който мeтодът да връща деца само от единия от двата пола. Добавете и метод is_direct_successor, който проверява дали двама души са с директна роднинска връзка
и връща булева стойност.
