Вопрос задан 07.09.2020 в 13:53. Предмет Биология. Спрашивает Никонорова Елизавета.

Придумайте и решите задачу по теме Наследование признаков сцепленных с полом

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Задача: Рассмотрим семью, в которой мужчины имеют ряд признаков, сцепленных с полом, которых женщины не имеют. Напишите программу на языке программирования, которая позволяет задать признаки для мужчин и женщин в этой семье, а затем определяет, унаследовали ли их дети от своих родителей.

Решение: 1. Создадим класс "Человек", в котором будут храниться информация о поле и признаках этого человека. В качестве полей класса будем использовать "пол" и "признаки", представленные в виде списка. Также добавим методы для задания и получения значений пола и признаков:

```python class Person: def __init__(self): self.sex = None self.features = []

def set_sex(self, sex): self.sex = sex

def get_sex(self): return self.sex

def set_features(self, features): self.features = features

def get_features(self): return self.features ```

2. Создадим класс "Семья", который будет содержать информацию о родителях и детях:

```python class Family: def __init__(self): self.father = Person() self.mother = Person() self.children = []

def set_father(self, father): self.father = father

def get_father(self): return self.father

def set_mother(self, mother): self.mother = mother

def get_mother(self): return self.mother

def add_child(self, child): self.children.append(child)

def get_children(self): return self.children ```

3. Создадим функцию "check_inheritance", которая будет проверять наследуют ли дети признаки от своих родителей. В функции будем сравнивать признаки между родителями и каждым ребенком. Если ребенок наследует хотя бы один признак от обоих родителей, то считаем его наследником. Функция будет возвращать список наследников:

```python def check_inheritance(family): father_features = family.get_father().get_features() mother_features = family.get_mother().get_features() inherited_children = []

for child in family.get_children(): child_features = child.get_features() if all(feat in father_features for feat in child_features) and \ all(feat in mother_features for feat in child_features): inherited_children.append(child)

return inherited_children ```

4. Создадим объекты классов "Person" и "Family", зададим им значения, а затем проверим наследственность признаков для детей:

```python def main(): p1 = Person() p2 = Person() p3 = Person()

p1.set_sex("Male") p2.set_sex("Female") p3.set_sex("Male")

p1.set_features(["Feature1", "Feature2"]) p2.set_features([]) p3.set_features(["Feature1", "Feature2"])

f = Family() f.set_father(p1) f.set_mother(p2) f.add_child(p3)

inherited_children = check_inheritance(f)

if len(inherited_children) > 0: print("Some children inherit the features") for child in inherited_children: print("Child: gender - {}, features - {}".format(child.get_sex(), child.get_features())) else: print("No children inherit the features")

if __name__ == "__main__": main() ```

Результат выполнения программы позволит определить, унаследовали ли дети признаки от своих родителей. В данном примере, оба мальчика унаследовали признаки от обоих родителей, поэтому программа выводит информацию о них.

0 0

Топ вопросов за вчера в категории Биология

Последние заданные вопросы в категории Биология

Задать вопрос