Первым шагом было бы проверить, имеет ли вход значение в нем, если нет, вы можете просто вернуть весь вход
if "stack" or "over" or "flow" not in input:
return input
Теперь для удаления части. Я думаю, что лучший способ сделать это - перебрать каждое значение во входном массиве (я предполагаю, что это массив) и вызвать str_replace
См. Мои комментарии, обозначенные ## в исправленном коде ниже.
import tkinter as tk
#from tkinter import * ## Why r u importing tkinter twice? Redundant.
from PIL import ImageTk,Image
class simpleapp_tk(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
#self.parent = parent #makes self.parent the parent ## Tk is the top most widget, it does not have a parent/master
self.Background()
def Background(self):
self.canvas = tk.Canvas(self, width=0, height=0) #Why use width=0 & height=0? Redundant.
self.canvas.pack(expand='yes', fill='both')
img = Image.open("watercoffee.jpg")
self.photo = ImageTk.PhotoImage(img) ##images needs to be an attribute in a class. See 2nd comment in your question for explanation.
self.canvas.create_image(0, 0, anchor='nw', image=self.photo) ##use self.photo
if __name__ == "__main__": #runs code
app = simpleapp_tk() ##removed None
app.wm_geometry("625x390") # window size fed into app
app.title('My Application')
app.mainloop()