Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для N1x0n
16 / 16 / 3
Регистрация: 14.04.2015
Сообщений: 155
Записей в блоге: 1

Создай класс Predator — хищник (потомок Species)

29.08.2023, 01:29. Показов 1413. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Класс Species есть, время создавать подклассы.
Создай класс Predator — хищник. Он наследуется от Species. В конструкторе класса Predator задаётся дополнительный атрибут hunting_success_rate — коэффициент успешности охоты (число). Он влияет на уровень выживаемости вида.
Атрибуты population и growth_rate наследуй от Species.
Добавь хищникам метод survive(). Он уменьшает популяцию в зависимости от hunting_success_rate: чем коэффициент меньше, тем больше особей гибнет. Другими словами, population уменьшается на произведение population и (1 - hunting_success_rate).
Посмотри, как изменяется популяция в зависимости от коэффициента успешности охоты: распечатай значение атрибута population до и после вызова метода survive() для экземпляра класса Predator.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2023, 01:29
Ответы с готовыми решениями:

Класс Species — вид сущностей в модели экосистемы
Создай класс Species — вид сущностей в нашей модели экосистемы. В его конструкторе задаются атрибуты: population — население (число), ...

Класс-родитель: дата(три числа) и класс-потомок: список друзей
2. Класс-родитель: дата(три числа): день месяц и год. Класса-потомок: список друзей (ФИО, телефон, дата рождения) И функция-метод...

Класс: Cоздайте класс- потомок, метод которого сортирует элементы массива по возрастанию
Нужна помощь в решении Напишите класс, содержащий массив типа Int заданной длины (задается с помощью конструктора). Метод класса...

3
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
29.08.2023, 07:48
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class Species:                                      # Вид
    def __init__(self, population, growth_rate):
        self.population = population                # population - численность
        self.growth_rate = growth_rate              # growth_rate - скорость роста
 
    def grow(self):                                 # расти
        self.population += self.population * self.growth_rate
 
species = Species(1000, 0.02)
print(f'Создан экземпляр species класса Species (Вид) с аргументами population (численность) = {species.population} '
      f'\nи growth_rate (скорость роста) = {species.growth_rate}')
print()
print(f'species.population (численность) = {species.population}')
species.grow()
print(f'Вызван метод species.grow() (расти)')
print(f'species.population = {species.population}')
 
class Predator(Species):                            # Хищник
    def __init__(self, population, growth_rate, hunting_success_rate):
        Species.__init__(self, population, growth_rate)
        self.hunting_success_rate = hunting_success_rate    # hunting_success_rate - показатель успешности охоты
 
    def survive(self):                                      # выжило (после охоты)
        self.population -= self.population * (1 - self.hunting_success_rate)
 
for i in range(8, 9+1):
    print()
    hunting_success_rate = i/10                 # показатель успешности охоты
    print(f'hunting_success_rate = {hunting_success_rate}')
    predator = Predator(1000, 0.02, hunting_success_rate)
    print(f'Создан экземпляр predator класса Predator (хищник) с аргументами population (численность) = {predator.population},'
            f'\ngrowth_rate (скорость роста) = {predator.growth_rate}'
            f'\nи hunting_success_rate (показатель успешности охоты) = {predator.hunting_success_rate}')
 
    print(f'predator.population = {predator.population}')
    predator.survive()
    print(f'Вызван метод predator.survive() - выжило (после охоты)')
    print(f'predator.population = {predator.population}')
0
 Аватар для N1x0n
16 / 16 / 3
Регистрация: 14.04.2015
Сообщений: 155
Записей в блоге: 1
30.08.2023, 00:06  [ТС]
Немного подправил, но надо ещё отредактировать:

Добавлено через 8 секунд
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Species:
    def __init__(self, population, growth_rate):
        self.population = population
        self.growth_rate = growth_rate
 
    def grow(self):
        self.population += self.population * self.growth_rate
 
species = Species(1000, 0.02)
species.grow()
 
# наследуй класс Predator от Species, реализуй конструктор и метод survive()
class Predator(Species):
    def __init__(self, population, growth_rate, hunting_success_rate):
        Species.__init__(self, population, growth_rate)
        self.hunting_success_rate = hunting_success_rate
 
    def survive(self):
        self.population -= self.population * (1 - self.hunting_success_rate)
        for i in range(8, 9+1):
            hunting_success_rate = i/10 
 
predator = Predator(1000, 0.02, 1.05)
print(predator.population)
predator.survive()
print(predator.population)
Добавлено через 52 секунды
Чтобы добавить параметры в конструктор класса-наследника, необходимо вызвать метод super
а после init класса-родителя.

Добавлено через 6 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Species:
    def __init__(self, population, growth_rate):
        self.population = population
        self.growth_rate = growth_rate
 
    def grow(self):
        self.population += self.population * self.growth_rate
 
species = Species(1000, 0.02)
species.grow()
 
# наследуй класс Predator от Species, реализуй конструктор и метод survive()
class Predator(Species):
    def __init__(self, population, growth_rate, hunting_success_rate):
        super().__init__(population, growth_rate)
        self.hunting_success_rate = hunting_success_rate
 
    def survive(self):
        self.population -= self.population * (1 - self.hunting_success_rate)
        for i in range(8, 9+1):
            hunting_success_rate = i/10 
 
predator = Predator(1000, 0.02, 1.05)
print(predator.population)
predator.survive()
print(predator.population)
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
30.08.2023, 00:28
Цитата Сообщение от N1x0n Посмотреть сообщение
Чтобы добавить параметры в конструктор класса-наследника, необходимо вызвать метод super
а после init класса-родителя.
Не обязательно. Это уже дополнительный синтаксический сахар. Но super() следует использовать только в одиночном наследовании, во множественном она может давать неожиданные результаты, не те, которые вы предполагали.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2023, 00:28
Помогаю со студенческими работами здесь

Создать родительский класс и класс-потомок: вещественные числа - катеты прямоугольного треугольника
Создать родительский класс и класс-потомок. Реализовать в классе-потомке функцию обработки данных. Условие: вещественное число - первый...

Создать класс-родитель (денежные купюры) и класс-потомок: стоимость одного евро в гривне
1. Создать класс-родитель(денежные купюры: номинал 1,2,5,10,20,50,100,200,500,1000) и количество. В поле класса-потомка: стоимость одного...

Класс «круг» - TCircle и класс-потомок TCylinder (цилиндр)
Помогите как можно сделать эти виндовс формы? А то я что-то не вдупляюсь. Описать класс, содержащих указанные поля и методы. Класс...

Построить базовый класс с указанными полями и методами и класс-потомок который содержит дополнительное поле
Задание 3: построить класс 1-го уровня с указанными полями и методами: - конструктор; - функция, которая определяет «качество»...

Создать класс и класс-потомок с полями
Создать класс и класс-потомок с полями, под некоторые из полей классов память выделять динамично. Реализовать в классе и классе - потомке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru