2017-10-15 48 views
0

我想以這種方式繪製一個三角形,但我一直在搞亂部分,我必須選擇頂點。有人可以告訴我我哪裏出錯了嗎?無法定義頂點

from graphics import GraphicsWindow 

triangle1= [[150,50], [250,50],[200,130]] 


win = GraphicsWindow(400, 400) 
canvas = win.canvas() 
canvas.setOutline("blue") 
canvas.drawPolygon(triangle1, canvas) 
last = len(triangle1) - 1 
for i in range(last): 
    start = triangle1[i] 
    end = triangle1[i+1] 
    canvas.drawLine(start[0], start[1], end[0], end[1]) 
start =triangle1[last] 
end = triangle1[0] 
canvas.drawLine(start[0], start[1], end[0], end[1]) 
win.wait() 
+1

爲什麼你要轉換的座標爲字符串? – Knoep

+0

這只是爲了測試一下。我忘了刪除它。但問題是,如果我用列表來做這件事,它會給我一個錯誤。但是,如果我單獨填寫這些座標,它沒有問題。 –

+0

什麼樣的錯誤? – Knoep

回答

0

如果使用EzGraphics,嘗試:

triangle1 = [150, 50, 250, 50, 200, 130] 
canvas.drawPolygon(triangle1) 

triangle1 = [(150, 50), (250, 50), (200, 130)] 
canvas.drawPolygon(triangle1) 
+0

是的,謝謝!完美解決;) –

+0

@MblastSt太棒了,很高興我可以幫助:)你可以考慮[接受這個答案](https://meta.stackexchange.com/q/5234/179419)通過點擊複選標記,如果它解決了你的問題。 – Knoep