簡體   English   中英

在中斷並嘗試更改循環值后,這是否可能 Else 條件起作用?

[英]Is this possible Else condition to work after break & trying to change for loop value?

創建 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)

for 循環仍在運行 150,這是有效的,我不能在 for 循環中添加更多范圍,就好像 i>150 那么 sample_data.append(population_data[i] ) 將超出范圍。

我想要實現的是: if sample_lenth==len(sample_data): then break else 將 i 值更改為 1-150 之間的任何值,循環繼續

任何幫助!

恐怕for...else構造與您要查找的內容無關。

在 for 循環結束后, else子句最多執行一次。

參見例如https://book.pythontips.com/en/latest/for_-_else.html

您不能更改for循環內的i變量。 可能您想使用while循環。 參見例如如何更改 for 循環的索引?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM