Python Tkinter 多行输入为列表中的整数
Python Tkinter multiple line input as integer in list
我在从 Tkinter 文本框中读取多行坐标(如 x、y)时遇到问题。
用户输入将是这样的:
41,3
21,12
68,10
etc.
每条线代表一个 x,y 坐标。 X 和 Y 由 , 分隔。
我需要从文本框中读取这个坐标并以数组形式处理它。像这样:
[[41,3],[21,12],[68,10]
我目前拥有的:
from Tkinter import *
def get_Data():
text_from_Box = Text_Entry.get("1.0", 'end-1c').split("\n")
print text_from_Box
master = Tk()
Label(master, text = "Enter coordinates here:").grid(row = 0, sticky = W)
Text_Entry = Text(master, height = 30, width = 30)
Text_Entry.grid(row = 1, column = 0)
Button(master, text = 'Start Calculation', command = get_Data).grid(row = 2, column = 0, sticky = W)
mainloop()
您必须在 ','
处再次 split
并转换为 int
(或 float
):
def get_Data():
text_from_Box = Text_Entry.get("1.0", 'end-1c').split("\n")
numbers = [[int(x) for x in pair.split(",")] for pair in text_from_Box]
print numbers
我在从 Tkinter 文本框中读取多行坐标(如 x、y)时遇到问题。 用户输入将是这样的:
41,3
21,12
68,10
etc.
每条线代表一个 x,y 坐标。 X 和 Y 由 , 分隔。 我需要从文本框中读取这个坐标并以数组形式处理它。像这样:
[[41,3],[21,12],[68,10]
我目前拥有的:
from Tkinter import *
def get_Data():
text_from_Box = Text_Entry.get("1.0", 'end-1c').split("\n")
print text_from_Box
master = Tk()
Label(master, text = "Enter coordinates here:").grid(row = 0, sticky = W)
Text_Entry = Text(master, height = 30, width = 30)
Text_Entry.grid(row = 1, column = 0)
Button(master, text = 'Start Calculation', command = get_Data).grid(row = 2, column = 0, sticky = W)
mainloop()
您必须在 ','
处再次 split
并转换为 int
(或 float
):
def get_Data():
text_from_Box = Text_Entry.get("1.0", 'end-1c').split("\n")
numbers = [[int(x) for x in pair.split(",")] for pair in text_from_Box]
print numbers