Такая задачка:
Генерируется ряд чисел (сколько их - задает пользователь). Они ненулевые, кроме крайних. Они “0”. Пройтись надо так, чтобы сумма тех, на которые мы “наступили” была максимальной. Ходить можно на след и послеслед число.
import random n = input(u'Введите число уровней: ') numbers = [0] while True: number = random.randint(-50, 50) numbers.append(number) if number == 0: continue if len(numbers) > n-2: break numbers.append(0) for i in numbers: print i
Далее нужно пройтись по массиву таким образом:
Допустим ряд таков: 0, 1, -2, 3, 4, -5, 0
x(1) = 0
x(2) = 1
x(3) = -1
x(4) = 4
x(5) = 8
Первые два числа статичны, они из массива, а с третьим мы работает. Смотрим на два предыдущих числа, анализируем суммы третьего числа с этими двумя предыдущими и выбираем. Какой случай будет больше x(1) + x(3) or x(2) + x(3) тот и выбираем и так далее.
Вопрос:
Как это все упаковать в цикл, чтобы на IndexError: list index out of range не ругался?

