2 回答

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
你有三個(gè)問題。前兩個(gè)是相關(guān)的:Vic指出無論內(nèi)部if是否為True. 為了簡(jiǎn)化檢查,請(qǐng)升級(jí)您的間隙檢查代碼
gap = 0.049
if (x < l < x + gap) and \
(y < m < y + gap):
value = 1
else:
value = 0
list.append(value)
這也解決了你的第二個(gè)問題:在“找到”的情況下,你會(huì)附加value兩次:一次在 里面if,一次在之后。
另外,請(qǐng)注意,您可以將該支票減少為一項(xiàng)較長(zhǎng)的項(xiàng)目:
list.append(int((x < l < x + gap) and (y < m < y + gap)))
最后,您有一個(gè)問題,即您的數(shù)據(jù)不會(huì)1按設(shè)計(jì)產(chǎn)生任何值。您已經(jīng)定義了一系列對(duì)角線單元格。第一個(gè)具有 (6.8, 51.35) 和 (6.849, 51.399) 的對(duì)角線;下一個(gè)在第二個(gè)角落開始并沿著網(wǎng)格的對(duì)角線繼續(xù)。
中的點(diǎn)coordinate不屬于任何這些單元格。例如,第一點(diǎn)是
(9.72, 52.33071)
Tuple包含x坐標(biāo)的網(wǎng)格 ( ) 點(diǎn)是
(9.7, 54.25), (9.75, 54.3)
但是所需的y坐標(biāo)比該點(diǎn)高近兩個(gè)單位(40 步)。因此,該點(diǎn)沒有匹配的單元格。其他坐標(biāo)點(diǎn)也有同樣的問題。您根本沒有任何符合條件的數(shù)據(jù)點(diǎn),因此您的輸出列表將全部為零。
您的數(shù)據(jù)或問題描述似乎有誤。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
Gautam 我同意上面關(guān)于 MCVE 提交的評(píng)論。根據(jù)您發(fā)布的代碼,您可能想要查看的一個(gè)地方是您的 4 參數(shù) if 語句:
if l>x and l<z:
if m>y and m<p:
value=1
else : value = 0
您可能會(huì)從此代碼中獲得不需要的輸出,因?yàn)槟?else 語句每次迭代都會(huì)執(zhí)行。
添加回答
舉報(bào)