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

Перевод с С++ на Питон

31.01.2021, 10:07. Показов 6849. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех, помогите перевести с С++ на Python данный код с классами - это про алкоголь его плотность и т.д.
C++
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
class Liquid {
protected:
    float density;
    std::string name;
 
public:
    void setName() {
        std::cout << "Введите имя: ";
        std::cin >> name;
    }
 
    void setDensity() {
        std::cout << "Введите плотность: ";
        std::cin >> density;
    }
};
 
class Alcohol : public Liquid {
private:
    float krepkost;
 
public:
    void setName() {
        std::cout << "Введите имя(жидкости): ";
        std::cin >> Liquid::name;
    }
    void setKrepkost() {
        std::cout << "Введите крепкость: ";
        std::cin >> krepkost;
    }
};
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.01.2021, 10:07
Ответы с готовыми решениями:

Задача: Взять заданную строку в кавычки вида «» . можно ли сразу решение и листинг пж . питон. код питон питон
Взять заданную строку в кавычки вида «» .

Перевод с C++ на Питон
попробуй так: #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;vector&gt; int main() { //std::ifstream input_file{...

Перевод с С++ на Питон
Приветствую всех, помогите с переводом с С++ на Питон - вот сам код С++ #include&lt;iostream&gt; using namespace std; class Chet { ...

8
260 / 165 / 54
Регистрация: 03.05.2019
Сообщений: 339
31.01.2021, 15:15
Лучший ответ Сообщение было отмечено Chaky1 как решение

Решение

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
class Liquid:
    '''Жидкость'''
    def __init__(self, density: float = 0, name: str = 'liquid'):
        '''density - плотность, name - название'''
        self._density, self._name = density, name # начальные значения
 
    density, name = property(), property()
 
    @density.setter
    def density(self, value: float):
        '''Установка значения плотности'''
        self._density = value
 
    @name.setter
    def name(self, value: str):
        '''Установка имени'''
        self._name = value
 
class Alcohol(Liquid):
    '''Алкоголь'''
    def __init__(self, density: float = 0, name: str = 'alcohol', percent: float = 0):
        '''density - плотность, name - название, percent - крепкость'''
        super().__init__(density, name)
        self._percent = percent
 
    name, percent = property(), property()
    
    @name.setter
    def name(self, value: str):
        '''Установка имени алкогольного напитка'''
        self._name = value
 
    @percent.setter
    def percent(self, value: float):
        '''Установка крепкости'''
        self._percent = value
Только в Python нет как таких модификаторов доступа, здесь разве что можно поставить нижнее подчёркивание перед переменной, это дает человеку информацию о внутренности атрибута, что это не стоит изменять извне напрямую.
Можно использовать обычные методы для установки значения, но get, set для этого созданы.
2
0 / 0 / 0
Регистрация: 29.06.2018
Сообщений: 48
31.01.2021, 20:31  [ТС]
Спасибо, постараюсь доработать , что бы работал=)

Добавлено через 6 минут
amator_C, Спасибо, код ошибок не бьет - но не работает - да и как-то он написан - похож на Паскаль =)
0
260 / 165 / 54
Регистрация: 03.05.2019
Сообщений: 339
31.01.2021, 20:49
Цитата Сообщение от Chaky1 Посмотреть сообщение
Спасибо, постараюсь доработать , что бы работал=)
Может вы не знаете как создавать объёкт или нужен ещё какой-то специфический функционал?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,674
Записей в блоге: 29
31.01.2021, 21:35
Цитата Сообщение от Chaky1 Посмотреть сообщение
но не работает
а как он по твоему должен работать? там просто два класса объявлены, ничего не создано и не вызвано. Как впрочем и в твоем примере.
1
0 / 0 / 0
Регистрация: 29.06.2018
Сообщений: 48
31.01.2021, 22:09  [ТС]
Welemir1, Дело в том, что по этому условию пример С++ вроде как работает "создать класс liquid (жидкость), имеющий поля названия и плотности. определить методы переназначения и изменения плотности. создать производный класс alcohol (спирт), имеющий крепость. определить методы переназначения и изменения крепости" Я не чего не имею против данного кода и очень благодарен автору переработки=) Просто хочется что бы работал на Питоне=)
0
260 / 165 / 54
Регистрация: 03.05.2019
Сообщений: 339
31.01.2021, 22:27
Лучший ответ Сообщение было отмечено Chaky1 как решение

Решение

Он немного иначе работает, потому что в C++ ввод в методе, а мой код подразумевает присваивание через свойство.
Python
1
2
drink = Alcohol(1, 'alc', 40)
drink.name = input('name: ')
Если ещё хотите получать значения свойств, напишите get-методы по аналогии.
Python
1
2
3
4
@density.getter
def density(self):
    '''Плотность'''
    return self._density
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,674
Записей в блоге: 29
01.02.2021, 05:57
Chaky1, попробую еще раз, видимо ты не знаешь ни одного из 2 языков. Ни первый ни второй код не выполняют активной работы, просто объявляют классы. Все. Код amator_C, ничем не хуже первого кода, он тоже только объявляет классы. Никакие объекты не создаются, никакие действия не производятся в обоих вариантах кода.
Раз задание просто создать классы, то оно выполнено. Если ты говоришь что "не работает" то поясни что должно еще происходить кроме создания классов? Или как определил что не работает?
2
0 / 0 / 0
Регистрация: 29.06.2018
Сообщений: 48
01.02.2021, 07:28  [ТС]
Welemir1, Я изучаю питон , до этого С++ учил, и просто привык если код то при исполнении он должен что-то выводить)))) Вот и все))) Но то что он не выводит - вот тут меня и поставило в ступор)))) напишу метод get и постараюсь сделать выводы=) спс) за обоснованные замечания)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.02.2021, 07:28
Помогаю со студенческими работами здесь

Перевод на питон
c1 = \frac{x + y}{y^2 + \left | \frac{y^2 + 2}{x + \frac{x^3}{5}} \right |} + e^{y+2}

Перевод на Питон
Здравствуйте, есть код на с++. Нужно перевести его на питон. Помогите пожалуйста:) #include &lt;cmath&gt; #include &lt;cstdio&gt; ...

Перевод из c++ в питон
#include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;math.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; class PGF{ ...

Перевод с С++ на питон
f(1,1,0). f(N,E,F):-N&gt;1,N1 is N-1,f(N1,E1,F1),E is -E1,F is F1*N+E. f(N,F):-f(N,_,F).

перевод с С++на питон
вот код нужно переводить код с С++ на питон int main(int argc, char* argv) { int N, M; cin &gt;&gt; N &gt;&gt; M; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru