Возможно ли это еще условие работать после перерыва и пытаться изменить значение l oop? - PullRequest
0 голосов
/ 29 марта 2020

Создайте случайные числа 150 и возьмите равномерную выборку 78

import numpy as np

population_data=np.random.randint(1,600,150) # 150 random numbers(integers) genereated 

sample_data=[]
sample_lenth=78

p=30/len(population_data)


for i in range(1,len(population_data)):

    if np.random.random() <=p:
        sample_data.append(population_data[i])
        print(i,len(sample_data))
        if sample_lenth==len(sample_data):
            break;
else: 
    i=10 # (basically wants to change the i value lower that for loop keep running )
    print(i)



print(len(sample_data))
print(sample_data)

для l oop работает еще 150, что является допустимым, и я не могу добавить больше диапазона для l oop, как будто i> 150, то sample_data.append (pop_data [i]) выйдет за пределы диапазона.

Чего я хочу добиться, это: между 1-150, что l oop продолжается

Любая помощь !!

1 Ответ

2 голосов
/ 31 марта 2020

Боюсь, конструкция for...else не имеет ничего общего с тем, что вы ищете.

Предложение else выполняется не более одного раза, после для l oop закончено.

См., например, https://book.pythontips.com/en/latest/for_-_else.html

Вы не можете изменить переменную i внутри for l oop. Вероятно, вы хотите использовать while l oop. См. Например Как изменить индекс a для l oop?

...