這應該是相當容易的,但是我很難從中找出答案。我想列出兩點之間的所有座標。像這樣:一組座標之間的列表座標
1: (1,1)
2: (1,3)
In between: (1,2)
或者
1: (1,1)
2: (5,1)
In between: (2,1), (3,1), (4,1)
它並不需要用對角線的工作。
這應該是相當容易的,但是我很難從中找出答案。我想列出兩點之間的所有座標。像這樣:一組座標之間的列表座標
1: (1,1)
2: (1,3)
In between: (1,2)
或者
1: (1,1)
2: (5,1)
In between: (2,1), (3,1), (4,1)
它並不需要用對角線的工作。
根據您想如何處理邊緣的情況下,這似乎工作:
def points_between(p1, p2):
xs = range(p1[0] + 1, p2[0]) or [p1[0]]
ys = range(p1[1] + 1, p2[1]) or [p1[1]]
return [(x,y) for x in xs for y in ys]
print points_between((1,1), (5,1))
# [(2, 1), (3, 1), (4, 1)]
print points_between((5,6), (5,12))
# [(5, 7), (5, 8), (5, 9), (5, 10), (5, 11)]
你似乎是一個開始的程序員。我認爲有用的一種常用技術是自己完成工作,然後看看你是如何做到的,並將其轉化爲程序。如果你看不到如何,將它分解成更簡單的步驟,直到你可以。
如果這是功課,請添加該標籤。 –