簡體   English   中英

如何使用寫循環進行列表追加

[英]How to use write a loop for list append

from Tkinter import *
import csv
root = Tk()
def click(event):
    global x,y
    x, y= event.x,event.y
frame = Frame(root, width=100, height=100)
frame.bind("<Button-1>", click)
frame.pack()
root.mainloop()

row=[]
col=[]

row.append(x)
col.append(y)

請! 如何編寫循環,以便兩個列表可以包含我單擊的所有x和y。

這里沒有理由使用顯式循環, root.mainloop已經提供了一個顯式循環,該循環在每次單擊事件時為您調用處理程序。 寫作:

from Tkinter import *

root = Tk()

row = []
col = []

def click(event):
    row.append(event.x)
    col.append(event.y)

frame = Frame(root, width=100, height=100)
frame.bind("<Button-1>", click)
frame.pack()
root.mainloop()

將離開rowcol填充了所有的x和y坐標從每點擊一次root.mainloop完成。 也沒有必要將xy全局值:它們的全局值將始終保留上次click調用中的值(或者,如果您從未單擊過,則將產生未定義的變量錯誤)。

實際上,您只需將x和y追加一次。 您可以使點擊事件發生追加-無需循環!

from tkinter import *
import csv
root = Tk()
coords = []

def click(event):
    global x,y
    x, y= event.x,event.y
    coords.append([x, y])
    print("Clicked at: ", x, y)


frame = Frame(root, width=100, height=100)
frame.bind("<Button-1>", click)
frame.pack()
root.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM