Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 22.04.2022
Сообщений: 2

Наследование классов

22.04.2022, 15:44. Показов 953. Ответов 1

Студворк — интернет-сервис помощи студентам
Всем привет. Только начал изучать классы и уже появились проблемы в понимании наследования.
Я ищу площадь и длину окружности на основании одного радиуса. У меня есть код и мне нужно, чтобы в подклассе использовалось то значение радиуса, которое бы пользователь указал в родительском классе, но я не понимаю где именно проблема, что и куда мне нужно дописать, чтобы значение радиуса вводилось единожды:

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
import math  
 
 
class Circle_S:  
    def __init__(self):
        self.S = 0
        self.radius = int(input('Введите значение радиуса: '))  
 
    def space(self):
        self.S = round(math.pi * (self.radius ** 2), 1)
 
 
class Circle_L(Circle_S):
    def __init__(self):
        super().__init__()
        self.L = 0
 
    def long(self):
        self.L = round(math.pi * self.radius * 2, 2)
 
 
 
while True:
    x = input()
 
    if x == '1':
        c1 = Circle_S()
        c1.space()
        print('Площадь равна: ', c1.S)
 
    if x == '2':
        c1 = Circle_L()
        c1.long()
        print('Площадь круга - ', c1.L)
 
    if x == '3':
        break
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2022, 15:44
Ответы с готовыми решениями:

Наследование классов
Приветствую, дорогие Господа и дамы, прошу проверить выполнение домашнего задания. Заранее спасибо. Единственное, прошу учитывать, что...

Наследование классов(Сириус)
Класс разработчик имеет поля: name-имя surname-Фамилия skills-лист языков программирования salary-зарплата Tpel - метод на...

Наследование, полиморфизм, атрибуты классов
Помогите в решении задачи Добавлено через 50 секунд Задание № 1. Наследование Исходя из квиза к предыдущему занятию, у нас уже...

1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38197 / 21130 / 4309
Регистрация: 12.02.2012
Сообщений: 34,737
Записей в блоге: 14
23.04.2022, 08:04
Лучший ответ Сообщение было отмечено happiness09 как решение

Решение

Цитата Сообщение от happiness09 Посмотреть сообщение
Я ищу площадь и длину окружности на основании одного радиуса.
- длина бывает у окружности. А площадь у круга. Но это мелочь.

Хуже другое: непонятно, зачем здесь вообще наследование.

И код... Если пользователь ввел "2" - создается потомок круга. Вызывается его метод long (длина окружности), а печатается как "площадь круга". Это глупость. И зачем ты создаешь новый объект? Вот поэтому и происходит повторный запрос радиуса.

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
import math  
 
 
class Circle_S:  
    def __init__(self):
        self.S = 0
        self.radius = int(input('Введите значение радиуса: '))  
 
    def space(self):
        self.S = round(math.pi * (self.radius ** 2), 1)
 
 
class Circle_L(Circle_S):
    def __init__(self):
        super().__init__()
        self.L = 0
 
    def long(self):
        self.L = round(math.pi * self.radius * 2, 2)
 
 
 
while True:
    x = input()
 
    if x == '1':
        c1 = Circle_L()
        c1.space()
        print('Площадь равна: ', c1.S)
 
    if x == '2':
        #c1 = Circle_L()
        c1.long()
        print('Длина окружности - ', c1.L)
 
    if x == '3':
        break
Но имей в виду: если пользователь сразу введет "2" - то программа упадет. Дважды дурацкий код...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2022, 08:04
Помогаю со студенческими работами здесь

Наследование классов
PITCHES = class Note: def __init__(self, nota, is_long=False): self.nota = nota self.is_long = is_long ...

Наследование классов
Вам дано описание наследования классов в следующем формате. имя класса 1 : имя класса 2 имя класса 3 ... имя класса k Это...

Наследование классов
Всем добрый день! Написала решение к задаче, приведенной ниже, но оно не проходит элементарные проверки. Всю голову сломала, не могу...

Наследование классов
Можно ли узнать предка класса экземпляра? summer_house = class Garden: result = def __init__(self,...

Наследование двух классов
Всем добрый день. Как сделать так, чтобы корректно переносились init'ы двух первых классов в третий? # здесь только цвет class...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru