2 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
您需要使用elif否則,0如果mbv[i]不在0.1和之間,則將始終附加0.2:
if ( 0.00 <= mbv[i] < 0.05):
M.append(1.1)
elif ( 0.05 <= mbv[i] < 0.1):
M.append(1.8)
elif ( 0.1 <= mbv[i] < 0.2):
M.append(2.2)
else:
M.append(0)
您當(dāng)前的代碼導(dǎo)致將多個(gè)多個(gè)值添加到Mwhenmbv[i]小于0.1,第一次1.1或1.8根據(jù)值將被添加的情況,然后if ( 0.1 < mbv[i] < 0.2)將失敗并else輸入要追加的塊0。
另外,如wagregg的答案中所述,您應(yīng)確保使用覆蓋了邊沿情況,<=以便在值正確的情況下輸入正確的塊,0.05或者0.1輸入相應(yīng)的塊而不是移至else。

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
您應(yīng)將<設(shè)為<=以覆蓋正好5的情況。
if ( 0.05 <= mbv[i] < 0.1):
M.append(1.8)
添加回答
舉報(bào)