Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 02.02.2020
Сообщений: 65
1

Как кумулятивно сложить числа в массиве, используя цикл for и две переменные x y?

27.07.2022, 09:38. Показов 2760. Ответов 12

Author24 — интернет-сервис помощи студентам
Здравствуйте! Помогите, пожалуйста, с написанием программы. Дан массив [1, 2, 4, 5, 6]. Нужно сложить эти числа кумулятивным способом, то есть, чтобы на выходе было [3, 7, 12, 18], используя цикл for и две переменные x и y. Например, чтобы к x прибавлялся каждый раз y. В данном случае, у нас x сохраняет каждую сумму (Т.е. из вводного массива берем первые два числа 1 + 2 = 3, на выход пойдет 3, x ее сохранил, после чего y бы сдвинулся вперед и прибавил уже к x, который равен 3, следующее число, то есть, уже цифру 4 (3+4 = 7). Итого на выходе уже [3, 7]). Ну и так далее (x уже равен 7, прибавляем к нему y, который равен 5 по массиву. Итого на выходе [3, 7, 12]). Ну и последний уже: x = 12, y = 6, на выход пойдет 18, после чего программа останавливается. Итого на выходе [3, 7, 12, 18]
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2022, 09:38
Ответы с готовыми решениями:

Сложить числа используя цикл с параметрами
Сложить все числа кратные 7 от N1 до N2. использовать цикл с параметром в виде трех функций,...

Как сложить две переменные, чтобы получилось число, а не строка?
Я хочу в поле text формы вывести сумму двух других таких же полей, в которые введены числовые...

Цикл: Напечатать k десятичных знаков числа 1/n, используя только целые переменные
Даны целые числа n и k, n > 1. Напечатать k десятичных знаков числа 1/n, используя только целые...

Нужно сложить две переменные
Вот код, нужно сложить в блоке else if(vidstr=="Каркасный дом"){... переменные karkas_dom и price,...

Нужно сложить две переменные
Вот код, нужно сложить в блоке else if(vidstr=="Каркасный дом"){... переменные karkas_dom и price,...

12
SkyJump
132 / 118 / 29
Регистрация: 09.07.2019
Сообщений: 1,070
Записей в блоге: 4
27.07.2022, 09:46 2
Лучший ответ Сообщение было отмечено DaniilDemchenko как решение

Решение

Python
1
2
3
4
5
6
7
in_list = [1, 2, 3, 4, 5 6]
out_list = []
 
x = in_list[0]
for y in in_list[1:]:
    x += y
    out_list.append(x)
3
186 / 171 / 93
Регистрация: 13.06.2018
Сообщений: 713
27.07.2022, 09:48 3
Цитата Сообщение от DaniilDemchenko Посмотреть сообщение
и две переменные x y?
вот именно ?
Python
1
2
3
4
5
a=[1, 2, 4, 5, 6]
for i in range(1,len(a)):
    a[i]+=a[i-1]
a.remove(a[0])
print(a)
1
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 935
27.07.2022, 10:01 4
Python
1
2
lst = [1, 2, 4, 5, 6]
print([sum(lst[0:i+1]) for i in range(1, len(lst))])
1
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
19211 / 10933 / 2915
Регистрация: 21.10.2017
Сообщений: 23,128
27.07.2022, 10:03 5
Михалыч, аккумулятор-то где? )))
1
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 935
27.07.2022, 10:04 6
GulgDev, а у Вас в решении на выходе получается [3, 7, 12, 18]?
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
19211 / 10933 / 2915
Регистрация: 21.10.2017
Сообщений: 23,128
27.07.2022, 10:06 7
Михалыч, если входные данные поправить под Тса, то да.

Не по теме:

я то же самое написал, чуть не выложил

1
3 / 3 / 0
Регистрация: 02.02.2020
Сообщений: 65
27.07.2022, 10:07  [ТС] 8
GulgDev, спасибо огромное!
0
Михалыч
27.07.2022, 10:07
  #9

Не по теме:

iSmokeJC, потерял))) Увидел то что могу записать в пару строк и не дочитал условия)

0
3 / 3 / 0
Регистрация: 02.02.2020
Сообщений: 65
27.07.2022, 10:07  [ТС] 10
Biger18, Да, обязательно с x и y Воссоздаю функцию reduce(array, func, init) с помощью def, нужны две переменные обязательно. Все равно спасибо!
0
Михалыч
27.07.2022, 10:08
  #11

Не по теме:

GulgDev, сорри не увидел что исходный список немного другой)

0
3580 / 2180 / 571
Регистрация: 02.09.2015
Сообщений: 5,508
29.07.2022, 12:31 12
Цитата Сообщение от DaniilDemchenko Посмотреть сообщение
Воссоздаю функцию reduce(array, func, init) с помощью def, нужны две переменные обязательно.
Скорее itertools.accumulate:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def accumulate(iterable, func=operator.add, *, initial=None):
    'Return running totals'
    # accumulate([1,2,3,4,5]) --> 1 3 6 10 15
    # accumulate([1,2,3,4,5], initial=100) --> 100 101 103 106 110 115
    # accumulate([1,2,3,4,5], operator.mul) --> 1 2 6 24 120
    it = iter(iterable)
    total = initial
    if initial is None:
        try:
            total = next(it)
        except StopIteration:
            return
    yield total
    for element in it:
        total = func(total, element)
        yield total
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
37298 / 20732 / 4272
Регистрация: 12.02.2012
Сообщений: 34,120
Записей в блоге: 14
29.07.2022, 16:25 13
Python
1
2
3
4
5
6
7
8
9
def cum_sum(arr):
    def c_s(x,s):
        if len(x)==0:
            return [s]
        else:
            return [s]+c_s(x[1:],s+x[0])
    return c_s(arr,0)[1:]    
        
print(cum_sum([1,2,3,4,5,6]))
0
29.07.2022, 16:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.07.2022, 16:25
Помогаю со студенческими работами здесь

Сложить переменные, используя указатели
Объявить две переменные и два указателя. Присвоить указателям адреса переменных. Сложить...

Сложить два числа, как две строки (25 + 25 = 2525)
Помогите написать программу желательно попроще) Приписать к числу n. такое же число n Например:...

Как сложить числа, не используя + и -
Задача найти сумму чисел не используя операторы =, -, +=, -= умножение, сложение не запрещено. 1)...

Bool переменные - как записать таблицы истинности функции, используя цикл
Пусть есть 4 переменых типа bool (x1, x2, x3 ,x4) и логическая функция (y = !x1 x3 + x2!x4) как...

Как можно сложить вещественные числа, заданные в виде строк, не используя cumsum
Можно ли сложить вещественные числа, заданные в виде строк (поэтому числа могут выходить за пределы...

Как записать разряды числа в переменные через цикл?
хочется научится делать это продуктивнее


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru