Я пытаюсь создать программу, которая принимает пользовательский ввод и модифицирует его (пользовательским вводом будут различные строки из 10 цифр), а затем возвращает измененный результат. В настоящее время я могу достичь того, что хочу, с помощью одной строки ввода, но я хотел бы добавить функциональность, позволяющую пользователю вводить несколько входов, и чтобы программа изменяла каждый вход отдельно. Однако в своем текущем состоянии он просто изменит все в текстовом поле, как если бы это была одна длинная строка, несмотря на то, что он находится в отдельных строках.
Я думал, что мог бы попытаться превратить каждый ввод в текстовое поле в список и повторить его таким образом? Я не уверен, есть ли лучший способ сделать это?
import tkinter as tk
root = tk.Tk()
def returnEntry(arg=None):
rawresult = myEntry.get("1.0","end-1c")
#functionality here
modifiedresult = rawresult+str(' modded')
resultLabel.config(text=modifiedresult)
myEntry.delete(0,END)
canv = tk.Canvas(root,height=500,width=1000,bg='misty rose')
canv.pack()
myEntry = tk.Text(root, width=60)
myEntry.focus()
myEntry.bind("<Return>",returnEntry)
myEntry.place(relx=.05,rely=.1)
enterEntry = tk.Button(root, text= "Convert", command=returnEntry, bg='snow')
enterEntry.pack()
resultLabel = tk.Label(root, text = "")
resultLabel.place(relx=.55,rely=.1)
root.geometry("+700+400")
root.mainloop()
В настоящее время он только изменяет все в текстовом поле, как если бы это была одна длинная строка.
ОБНОВЛЕННЫЙ КОД:
def returnEntry(arg=None):
rawresult = myEntry.get("1.0","end-1c")
list_of_entries = []
for line in rawresult.splitlines():
list_of_entries.append(line.upper())
#--------------------------------------------------------------
#functionality here
for entries in list_of_entries:
modifiedresult = entries+str(' modded')
#--------------------------------------------------------------
resultLabel.config(text=modifiedresult)
myEntry.delete(0,END)