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

Перевести небольшой код С++ в Python

09.06.2021, 14:14. Показов 1712. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Мне нужно небольшой код из С++ перевести в питон, помогите пожалуйста.


C++
1
2
3
{for (f; f!=str.length(); f++)
int a=str.find("(",f);
f=a;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.06.2021, 14:14
Ответы с готовыми решениями:

Перевести небольшой код с C# на C++
Не знаю как заменить int.Parse в C++ using System; namespace war { class Program { static void Main(string args) { ...

Перевести небольшой код С++ на С
Заранее спасибо. #include "stdafx.h" #include <fstream> #include <iostream> #include <string.h> using namespace...

Перевести небольшой код с Pascal на C++
Это код для определения суммы квадратов всех целых чисел в интервале, заданном значениями M и N написанный на языке Pascal: var s, n,...

16
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
09.06.2021, 14:28
Narvik_tm, это-ж бесконечный цикл.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.06.2021, 14:33
Narvik_tm,
Напиши внятно задачу которую должен решать код.
Переписыванием кодов с одного языка на другой тут никто не занимается.
Для справки: в Python тоже есть "строка".find("подстрока")
Просто погугли и не надо будет попрошайничать.
0
1 / 1 / 0
Регистрация: 21.02.2021
Сообщений: 83
09.06.2021, 14:40  [ТС]
Я же не спросил чего-то сверхъестественного.

Добавлено через 1 минуту
Fudthhh Это фрагмент из кода, я всё перевёл, но не понимаю этот отрывок.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.06.2021, 14:46
Цитата Сообщение от Narvik_tm Посмотреть сообщение
Я же не спросил чего-то сверх естественного.
А я тебя спросил о чем-то сверхъестественном?
Просто опиши задачу.
Если ты ищешь последнее вхождение подстроки "("- твой код изначально неверен.

Добавлено через 45 секунд
Цитата Сообщение от Narvik_tm Посмотреть сообщение
я всё перевёл, но не понимаю этот отрывок.
То есть С++ ты тоже не понимаешь?
0
1 / 1 / 0
Регистрация: 21.02.2021
Сообщений: 83
09.06.2021, 14:48  [ТС]
А не надо меня спрашивать, я поставил определённый вопрос, не знаешь ответа лучше не пиши, а просто пройди мимо.
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
09.06.2021, 14:50
Цитата Сообщение от Narvik_tm Посмотреть сообщение
А не надо меня спрашивать, я поставил определённый вопрос, не знаешь ответа лучше не пиши, а просто пройди мимо.
Ты сформулируй СЛОВАМИ работу программы, ибо твой код не работает.
0
1 / 1 / 0
Регистрация: 21.02.2021
Сообщений: 83
09.06.2021, 14:51  [ТС]
Да он не должен работать, я просто хочу понять, как это на питоне написать, простая реализация замены всех параметров. Задания у меня тоже нет.
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
09.06.2021, 14:55
Класс, если ты не знаешь, что делает прога, как мы должны это понять? Если код не работает, то возьми любой неработающий код на питоне. Будет тоже самое
1
1 / 1 / 0
Регистрация: 21.02.2021
Сообщений: 83
09.06.2021, 14:59  [ТС]
Не нужно понимать, что она делает, смотри допустим строка for (f; f!=str.length(); f++), это цикл странный для меня, я не понимаю как его просто в питоне записать т.е в питоне пишется допустим for i in range(n), но ладно я понял, пойду лучше тогда почитаю про циклы в C++, хотя бы разберусь, как это понять.
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
09.06.2021, 15:36
Нельзя тупо переводить из С++ в python и все.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.06.2021, 15:45
Цитата Сообщение от Narvik_tm Посмотреть сообщение
это цикл странный для меня
Это обычный цикл с инкрементацией счетчика. Но у тебя он не решает никакой задачи, потому что становится бесконечным.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
 
int main()
{
 
string str = "(hello(";
for (int i = str.find("(", i++); i != string::npos; i = str.find("(", i+1)) {
    cout << i << endl;
}
    
return 0;
}
Code
1
2
0
6
В Python циклов for с числовым счетчиком как таковых нет. Не считая вспомогательной функции enumerate.
Поэтому для имитации такого цикла используется while.

Python
1
2
3
4
5
6
str_ = "(hello("
while True:
        i = str_.find("(", i)
        if i == -1: break  # аналог string::npos
        print(i)
        i+=1

Code
1
2
0
6
Выше тебе 100% верно заметили, что простые попытки перевода один в один операторов мало что дадут. Где-то это сработает, а где-то будет бессмысленным, так как в в том же Python некоторые операции С++ из 10 строк могут быть записаны в одну строку. И наоборот.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
09.06.2021, 16:10
Попытался понять, что делает этот код на плюсах... Он совершенно убийственный:

C++
1
2
3
{for (f; f!=str.length(); f++) // цикл по f c неинициализированным начальным значением f
  int a=str.find("(",f);           // ищется левая скобка c позиции f (т.е. неизвестно с какой)
  f=a;
Вся эта байда в Питоне выглядит так:

Python
1
2
for i in range(len(stri)):
    a=stri.find("(",i)
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.06.2021, 16:19
Catstail,
C точки зрения оценки эффективности (O большое) код с range дает оверхед по числу итераций (O(len всей строки)). Поэтому он неравноценен коду С++ на индексах вхождения.

Вот здесь (как и в моем коде выше) ровно две операции поиска, а не 7 для строки "(hello("
Python
1
2
3
4
i = str_.find("(", 0)
while (i := str_.find("(", i)) != -1:
    print(i)
    i+=1
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
09.06.2021, 17:37
Garry Galler, да я, честно говоря, не понял, что он хотел добиться...
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.06.2021, 18:00
Цитата Сообщение от Catstail Посмотреть сообщение
я, честно говоря, не понял, что он хотел добиться
Я тоже :-) Но он же решил, что мы тут экстрасенсы
Цитата Сообщение от Narvik_tm Посмотреть сообщение
я поставил определённый вопрос, не знаешь ответа лучше не пиши
и должны сами догадаться раз существует такой раздел Python: решение задач. Типа запостил сюда любую хрень - подождал и нате: готовый ответ на блюдечке получил.
Кому вообще пришла в голову идея создавать еще один раздел для халявщиков? Разве их и так мало в разделе для начинающих?!
И если уж создали - нужно было создать и особые правила для постинга сюда задач: чтобы люди 10 раз подумали, прежде чем создать очередную нелепую тему.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
09.06.2021, 20:17
Garry Galler, идея этого раздела в том и состоит. Это раздел для тех, кто не хочет ничего делать сам. Т.е. раздел, где никто ничего не будет обсуждать, т.к. большинство ТСов все равно не смогут внятно ответить на вопросы. Подсказывать, направлять, учить жизни, ждать свои попытки, заставлять учится и т.д. их тоже не надо. Кто хочет - выложит готовый код. Кто не хочет - пройдет мимо. Адекватные же темы, в которых ТС что-то старается делать сам - будем оставлять в Начинающих.
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.06.2021, 20:17
Помогаю со студенческими работами здесь

Перевести небольшой код с jQuery на JS
Добрый день! Подскажите с переводом на нативный JavaScript, пожалуйста. $(document).ready(function(){ /* Hamburger Menu &amp; Icon...

перевести небольшой код с паскаля на с
помогите плз перевести небольшой код с pascal на С++ Program String41; var Dano:string; // вводимая строка slova:integer; //...

Нужно перевести небольшой код с Pascal на C++
var c:char; begin write('Введите символ: '); readln(c); case c of '0'..'9' :writeln('digit'); 'A'..'Z','a'..'z':writeln('lat');...

Перевести небольшой код из Pascal на Java
function isPrime(N : Integer) : Boolean; var D, dD : Integer; begin Result := (N &gt; 1); if (N=2) or (N=3) or (N=5) then ...

Перевести небольшой код из Scala на Java
Называется &quot;сделайте за меня&quot;, но все же, кому не трудно, пожалуйста: object ConnectedBlockRender extends ISimpleBlockRenderingHandler...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru