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

Перевести программу с c++ в Python

04.10.2019, 15:28. Показов 6143. Ответов 8

Студворк — интернет-сервис помощи студентам
Задача такая : Пишем число M потом пишем N.
N - Это сколько первых цифры из числа M мы "вырезаем". Надо перевести в Python и объяснить что за что отвечает. Благодарю !

C++ (Qt)
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
#include <iostream>
#include <cmath>
using namespace std;
int main () {
 
    int m, n, a, b = 0, h, sum = 0;
    cout << "Ievadiet M skaitli: ";             // Впишите число M
    cin >> m;
    cout << "Ievadiet pedejos M ciparu kvantitati: ";              // Впишите сколько цифр "вырезаем"
    cin >> n;
    
    while( m != 0)
    {
        a = m%10;
        b = b * 10 + a;
        m /= 10;                  // Меняет цифры слева направо ( прим.: 123456 --> 654321 )
    }
    
    h = pow(10,n);
    b = b % h;                    
// сколько цифр мы "вырезаем" , ( прим.: N = 3, 654321 --> 321 ( неважен порядок, т.к. мы суммируем ) 
    
    while( b != 0)
    {
        sum += b%10;
        b /= 10;                  // сумма цифр ( прим.: 321 --> 3 + 2 + 1 = 6 )
    }
    
    cout << "ciparu summa = " << sum << endl;  // выводим сумму цифр
    return 0;
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.10.2019, 15:28
Ответы с готовыми решениями:

Перевести программу на Python
begin var r := ReadLnReal('Радиус вписанной окружности: R ='); var n := ReadLnInteger('Число сторон правильного N-угольника: N =');...

Перевести программу C++ на Python
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main(int argc,...

Перевести программу с C# to Python
int main() { const int A = 30; int arr; int first; int last; for (int i = 0; i &lt; A;...

8
8 / 12 / 2
Регистрация: 08.08.2019
Сообщений: 63
04.10.2019, 16:12
zoomie, как я понял условия:
Из числа M вырезаем первые N чисел и считаем их сумму.
Если да, то 1) На cpp написан кривой код, можно легче
2) На питоне пишется в пару строчек
Скажи, я правильно понял?
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 16:20
Лучший ответ Сообщение было отмечено zoomie как решение

Решение

zoomie,

Python
1
2
3
4
5
6
7
8
9
10
# -*- coding: utf-8 -*-
 
# Впишите число M
m = input("Ievadiet M skaitli: ")
# Впишите сколько цифр "вырезаем"
n = int(input("Ievadiet pedejos M ciparu kvantitati: "))
# сумма цифр ( прим.: 321 --> 3 + 2 + 1 = 6 )
summ = sum(map(int, m[:n]))
# выводим сумму цифр
print(f"Ievadiet pedejos M ciparu kvantitati: {summ}")
1
0 / 0 / 0
Регистрация: 04.10.2019
Сообщений: 9
04.10.2019, 16:30  [ТС]
Да, правильно понял.
P.S. если можно легче на c++ написать, то можешь объяснить , если не лень?
0
8 / 12 / 2
Регистрация: 08.08.2019
Сообщений: 63
04.10.2019, 16:33
zoomie, зачем вертеть число туда-сюда? Я про это говорил.

Не по теме:

Если можно спросить, что це такое?

Цитата Сообщение от zoomie Посмотреть сообщение
Ievadiet M skaitli:
Цитата Сообщение от zoomie Посмотреть сообщение
"Ievadiet pedejos M ciparu kvantitati:
Цитата Сообщение от zoomie Посмотреть сообщение
ciparu summa

0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 16:36
Куда же там проще.

1) Получаем число, оставляем строкой. (m)
2) Получаем длину среза, преобразуем в int. (n)
3) функция sum - складывает все элементы списка; map применяет функцию к каждому элементу списка. m[:n] - срезает строку от начала, до заданого числа.
4) Вывод

Добавлено через 1 минуту
hacthies, Šis ir latvietis - это латышский язык.
1
0 / 0 / 0
Регистрация: 04.10.2019
Сообщений: 9
04.10.2019, 16:37  [ТС]
я про c++ спрашивал как легче мой код можно сделать. Т.к. из того, что пока сам знаю - смог преобразовать только так.
Спасибо!
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
04.10.2019, 16:39
Лучший ответ Сообщение было отмечено zoomie как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import math
 
 
def cuter(m, n):
    while (m != 0):
        a = m % 10
        b = b * 10 + a
        m /= 10
    h = math.pow(10, n)
    b = b % h
    b /= 10
    while (b != 0):
        summ += b % 10
        b /= 10
    print(summ)
 
 
if __name__ == '__main__':
    summ = 0
    m = int(input())
    n = int(input())
    cuter(m, n)
1
0 / 0 / 0
Регистрация: 04.10.2019
Сообщений: 9
04.10.2019, 16:47  [ТС]
Цитата Сообщение от hacthies Посмотреть сообщение
Ievadiet M skaitli:
Введите число M
Цитата Сообщение от hacthies Посмотреть сообщение
"Ievadiet pedejos M ciparu kvantitati:
Введите количество вырезанных цифр числа M
Цитата Сообщение от hacthies Посмотреть сообщение
ciparu summa
Сумма чисел

Это с латышского перевод
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2019, 16:47
Помогаю со студенческими работами здесь

Перевести программу с C# в Python
#include &lt;iostream&gt; double func(double* array, int size) { int i; double sum = 0; for ( i = 0; i &lt; size;...

Перевести программу с Python на С++
a=2000001 s=list(range(2,a)) s_sum=0 for i in s: if i**2&lt;a: k=0 while k&lt;len(s): if...

Перевести программу из C++ в Python
#define _USE_MATH_DEFINES // #include &lt;cmath&gt; // #include &lt;iostream&gt; // #include &lt;fstream&gt; // #include &lt;iomanip&gt; using namespace...

Перевести программу из python в c++
class MatrixFibonacci: Q = , ] def __init__(self): self.__memo = {} def...

Перевести программу из Python в C++
n,k=map(int,input().split()) m=list(map(int,input().split())) for i in range(n): m=,i+1] m.sort() m.reverse() s=0 sh=0 i=0...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru