<p>解决这个问题的一个方法是在后面加上while-s。虽然它仍然易碎,但它会检查每个位置的元素。你知道吗</p>
<pre><code>while (kaalude_summa > 325): #AGA KUI JUHTUB SEE NALI, ET MAX REITINGUD LIIDETAKSE JA IKKA ON PAKSUD
if reiting == []:
break
positsioon = reiting.index(max(reiting)) #max reitingu positsioon
if kaalud[positsioon] < kaalude_tulemused[3]:
kaalude_tulemused[3] = kaalud[positsioon]
tulemuslist.remove(min(tulemuslist))
tulemuslist.append(max(reiting))
kaalude_summa = kaalude_summa - vahekaal + kaalude_tulemused[3]
reiting.remove(max(reiting))
kaalud.remove(kaalud[positsioon])
if kaalude_summa > 325:
reiting = reiting_safecopy[0:len(reiting_safecopy)]
tulemuslist = tulemuslist_safecopy[0:len(tulemuslist_safecopy)]
kaalud = kaalud_safecopy[0:len(kaalud_safecopy)]
while (kaalude_summa > 325): #KUI ESIMENE WHILE EI AIDANUD
if reiting == []:
break
positsioon = reiting.index(max(reiting)) #max reitingu positsioon
if kaalud[positsioon] < kaalude_tulemused[2]:
kaalude_tulemused[2] = kaalud[positsioon]
tulemuslist.remove(min(tulemuslist))
tulemuslist.append(max(reiting))
kaalude_summa = kaalude_summa - vahekaal + kaalude_tulemused[3]
reiting.remove(max(reiting))
kaalud.remove(kaalud[positsioon])
if kaalude_summa > 325:
reiting = reiting_safecopy[0:len(reiting_safecopy)]
tulemuslist = tulemuslist_safecopy[0:len(tulemuslist_safecopy)]
kaalud = kaalud_safecopy[0:len(kaalud_safecopy)]
while (kaalude_summa > 325): #KUI TEINE WHILE KA EI AIDANUD
if reiting == []:
break
positsioon = reiting.index(max(reiting)) #max reitingu positsioon
if kaalud[positsioon] < kaalude_tulemused[1]:
kaalude_tulemused[1] = kaalud[positsioon]
tulemuslist.remove(min(tulemuslist))
tulemuslist.append(max(reiting))
kaalude_summa = kaalude_summa - vahekaal + kaalude_tulemused[3]
reiting.remove(max(reiting))
kaalud.remove(kaalud[positsioon])
if kaalude_summa > 325:
reiting = reiting_safecopy[0:len(reiting_safecopy)]
tulemuslist = tulemuslist_safecopy[0:len(tulemuslist_safecopy)]
kaalud = kaalud_safecopy[0:len(kaalud_safecopy)]
while (kaalude_summa > 325): #SIIS VAHETAME VIIMAST ELEMENTI!!
if reiting == []:
break
positsioon = reiting.index(max(reiting)) #max reitingu positsioon
if kaalud[positsioon] < kaalude_tulemused[0]:
kaalude_tulemused[0] = kaalud[positsioon]
tulemuslist.remove(min(tulemuslist))
tulemuslist.append(max(reiting))
kaalude_summa = kaalude_summa - vahekaal + kaalude_tulemused[3]
reiting.remove(max(reiting))
kaalud.remove(kaalud[positsioon])
</code></pre>