Как мне зациклить геометрическую последовательность.мне нужно зациклить некоторые функции над 1, 2, 4, 8, 16 - PullRequest
0 голосов
/ 27 сентября 2019

Мой код

T=np.empty()
for N in range ("some gemetric numbers: 1,2,4,8,16):
    T[N]= trap(f1,a,b,N)

Так выглядит программа

Ответы [ 2 ]

3 голосов
/ 27 сентября 2019

С генераторами:

def geom_generator(max_number):
  i = 1
  while i < max_number:
    yield i
    i = i*2

for i in geom_generator(max_number=1000): # just a random sample
  # do something
  print (i)

Выход:

1
2
4
8
16
32
64
128
256
512
2 голосов
/ 27 сентября 2019

Вы можете либо зациклить фиксированную последовательность:

for n in [1, 2, 4, 8, 16]:
    # do stuff with n

, либо динамически сгенерировать последовательность:

n = 1
while True:
    # do stuff with n
    n *= 2

Будьте осторожны, поскольку во втором примере цикл будет длиться вечно, если только вы break при конкретном условии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...