0

我无法将我的函数应用到从 tkinter 文本小部件中检索到的列表中。该列表通过按钮检索command=lambda: get_list())。我正在尝试应用,def func_1():但它不会引发错误,它只是在我输入任何数据之前立即运行它。

dictionary = {
    'A': '1',
    'B': '2',
    'C': '3'}

def get_list():
    text_input = text.get("1.0", "end-1c").split("\n")
    return text_input


def func_1(text_input):
    x=0
    while x < len(text_input):
        text_replace = (text_input[x]).replace(',', '')
        text_split = text_replace.split()
        not_found = True
        for key in dictionary:
            if key in text_split:
                result = dictionary[key]
                return (result)
                not_found = False
                break
        if not_found :
            return ("Some Error Message")
        x = x + 1
print(func_1(get_list()))

如果我输入几行;

 1. A, D, E
 2. B 
 3. C

它跳过func_1,并声明 if not found 文本:

Some Error Message

我需要将它用于get文本小部件输入,在 处拆分为列表"\n",并func_1在与输入小部件的行一样多的项目上运行。

func_1 应该获取每个列表项,替换任何逗号,然后将其拆分为它自己的 for 循环列表。

我不知道如何以不同的方式分解它。

感谢您的任何建议!

4

1 回答 1

0

我需要它来获取文本小部件输入,在“\n”处拆分为一个列表,并在与输入到小部件中的行一样多的项目上运行 func_1。

如果是这种情况,那么您需要这样做:func_1在每一行上运行:

text_input = text.get("1.0", "end-1c").split("\n")
for line in text_input:
    func_1(line)
于 2021-04-05T20:47:35.040 回答