Список сумм последовательности чисел

Главная Форумы Задать вопрос Список сумм последовательности чисел

В этой теме 4 ответа, 3 участника, последнее обновление  Анатолий 6 мес., 3 нед. назад.

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Автор
    Сообщения
  • #8776 Score: 0

    Анатолий
    Участник
    37 pts

    Добрый вечер! И еще один вопрос хочется задать за сегодня: не приходилось ли кому составлять список, который будет иметь в себе  список сумм последовательности чисел? То есть:

    Имеем, например [800,1000,1000,800,800,800,1000,800]

    а необходимо сделать список [800,1800,2800,3600,4400,5200,6200,7000]

    то есть в новом списке каждый элемент равняется сумме всех предыдущих элементов старого списка (предыдущего по очередности элемента нового списка и текущего старого списка).

    #8778 Score: 1

    txt
    Модератор
    84 pts

    tems = [800,1000,1000,800,800,800,1000,800]
    lst=[]
    s=0
    for k in range(0, len(items)):
    if k==0:
    lst.Add(items[k])
    s+=items[k]
    else:
    lst.Add(items[k]+s)
    s+=items[k]
    OUT = lst

    Выложил тут:
    https://pastebin.com/2MtXyPcC

     

     

    #8780 Score: 0

    Анатолий
    Участник
    37 pts

    Большое спасибо, txt! Все четко и лаконично!

    Также очень интересно мне, возможно ли на питоне решить задачу еще сложнее: чтобы результат немного изменялся в зависимости от чередования 800 и 1000? Например если первое и второе число старого списка 800 и 1000, то в новом списке второе число будет на 100 больше от той суммы, которую считает скрипт, если же первое 100, а второе 800, то в новом скрипте  число будет на 100 меньше.

    [800,1000,1000,800,800,800,1000,800]   —-    [800,1900,2900,3600,4400,5200,6300,7000]

    Пытался и раньше что-то написать на подобие   условия типа  elif items[k]==800 and items[k+1]==1000: но неизменно на последнем числе цикла выпадает ошибка, так как элемент [k+1] в данном списке не существует… Буду благодарен за помощь!

    #8829 Score: 1

    Legantmar
    Хранитель
    460 pts

    если правильно понял, то вот так накидал

     

    #8830 Score: 0

    Анатолий
    Участник
    37 pts

    Спасибо огромное, это именно тот ответ, что мне был нужен!

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)

Для ответа в этой теме необходимо авторизоваться.