Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #
- # https://www.facebook.com/groups/learnpython.org/permalink/1213762838688331/
- #
- import tkinter as tk
- import re
- # --- constants ---
- # empty
- # --- classes ---
- # empty
- # --- functions ---
- def my_function():
- # use entry_name.get() to get text
- save_file = open("AlanFile.txt","w")
- # ---
- word_list = re.split('\W+', text_entry.get(), flags=re.U)
- if word_list and word_list[0] == '':
- word_list = word_list[1:]
- if word_list and word_list[-1] == '':
- word_list = word_list[:-1]
- for word in words_entry.get().split():
- # I use `enumerate(..., 1) so I don't need `i+1` in other lines
- indexes = [i for i, x in enumerate(word_list, 1) if x==word]
- result_text.insert('end', "%s: %s\n" % (word, indexes))
- save_file.write("%s: %s\n" % (word, indexes))
- # ---
- words = []
- for index in indexes_entry.get().split():
- words.append(word_list[int(index)-1])
- text = " ".join(words)
- result_text.insert('end', text)
- save_file.write(text)
- # ---
- result_text.insert('end', '\n-------\n')
- save_file.close()
- # --- main ---
- root = tk.Tk()
- tk.Label(root, text="Enter text > ").grid(row=0, column=0, sticky='E')
- text_entry = tk.Entry(root)
- text_entry.grid(row=0, column=1, sticky='WE')
- tk.Label(root, text="Enter words > ").grid(row=1, column=0, sticky='E')
- words_entry = tk.Entry(root)
- words_entry.grid(row=1, column=1, sticky='WE')
- tk.Label(root, text="Enter indexes > ").grid(row=2, column=0, sticky='E')
- indexes_entry = tk.Entry(root)
- indexes_entry.grid(row=2, column=1, sticky='WE')
- tk.Button(root, text="Run", command=my_function).grid(row=3, column=1)
- result_text = tk.Text(root)
- result_text.grid(row=4, columnspan=2)
- # I set some text for test
- text_entry.insert(0, 'hello world of python')
- words_entry.insert(0, 'world python')
- indexes_entry.insert(0, '2 1')
- # run program (start "the engine")
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement