CiaraMc96 Ответов: 1

Умножение на 2 как мой шаг


В for i in range () как можно умножить предыдущий шаг на 2 вместо того, чтобы каждый раз добавлять целое число?

Что я уже пробовал:

def my_trap(a,b,n):
    sum= 0.0
    h= (b-a)/n
    for i in range(1,n+1):
        x=a+i*h
        sum= sum + 2*f(x)
    return (h/2)*(sum + f(a) + f(b))

1 Ответов

Рейтинг:
4

Richard Deeming

Посмотрите на документацию:

 class range(stop)
class range(start, stop[, step])
Если вы хотите выполнить цикл по диапазону с шагом 2, передайте 2 в качестве третьего параметра.
for i in range(1, n+1, 2)
Встроенные типы — документация Python 3.8.2[^]


Редактировать: Если вы хотите, чтобы выполнить итерации по 2 раза, потом комбинируем range функция с помощью power оператор:
for p in range(1, n+1)
    i = 2 ** p
    x = a + i * h
    sum = sum + 2 * f(x)
5.4 оператор питания[^]


CiaraMc96

Нет, извините,не в шагах 2, а как в 2,4,8,16,32 и т. д

Richard Deeming

Объединять range вместе с энергетиком. Я обновил свой ответ.

Maciej Los

5ed!

CPallini

5.