Python Code F1b[1]
Python Code F1b[1]
#Attributes:
# name (str): Name of the person.
# birth_year (int): Year in which Person was born.
# death_year (int or None): Year in which person died, or None if that
person is still alive.
#parents (list of Parents): List containing parents of the person.
#spouses (list of Spouses): List containing spouses of the person.
#children (list of Children): A List containing children of the person.
@property
def parents(self):
return self._parents
@property
def spouses(self):
return self._spouses
@property
def children(self):
return self._children
def get_immediate_family(self):
#It will Return immediate family members including
parents,siblings,spouse,and children.
immediate_family = {
'parents': self.parents,
'siblings': self.get_siblings(),
'spouses': self.spouses,
'children': self.children,
}
return immediate_family
def display_immediate_family(self):
#Displaying names of person's immediate family.
immediate_family = self.get_immediate_family()
print(f"Immediate family of {self.name}:")
for relation, members in immediate_family.items():
member_names = ', '.join(member.name for member in members)
print(f"{relation.capitalize()}: {member_names if member_names
else 'None'}")
def get_extended_family(self):
#will return the extended family members.
extended_family = set()
def display_extended_family(self):
#Displaying names of the person's extended family.
extended_family = self.get_extended_family()
print(f"Extended family of {self.name} (living blood relatives):")
if extended_family:
for relative in extended_family:
print(f"- {relative.name}")
else:
print("No extended family members found.")
def __str__(self):
status = f"{self.name} (b. {self.birth_year}"
if self.death_year:
status += f", d. {self.death_year}"
status += ")"
return status