I am new to Python and following tutorials. This one I came across was for TKinter, and throughout I felt I re-wrote the same lines of code time and time again which I wondered if it could be better written.
I am interested to know how you would improve this code.
Thanks.
(First time posting, hope it's ok).
from tkinter import * from PIL import ImageTk, Image root = Tk() root.title("Learn to code") root.iconbitmap("C:\\palmTree.ico") #random images my_img1 = ImageTk.PhotoImage(Image.open("C:\\mountainLake.jpg")) my_img2 = ImageTk.PhotoImage(Image.open("C:\\freedom.jpg")) my_img3 = ImageTk.PhotoImage(Image.open("C:\\streetCoffee.jpg")) my_img4 = ImageTk.PhotoImage(Image.open("C:\\surfBoarding.jpg")) my_img5 = ImageTk.PhotoImage(Image.open("C:\\oldFence.jpg")) image_list = [my_img1, my_img2, my_img3, my_img4, my_img5] my_label = Label(image=my_img1) my_label.grid(row=0,column=0,columnspan=3) def forward(image_number): global my_label global button_forward global button_back my_label.grid_forget() my_label = Label(image=image_list[image_number-1]) button_forward = Button(root, text=">>", command=lambda: forward(image_number+1)) button_back = Button(root, text="<<", command=lambda: back(image_number-1)) if image_number == 5: button_forward = Button(root, text = ">>", state=DISABLED) my_label.grid(row=0,column=0,columnspan=3) button_back.grid(row=1, column=0) button_forward.grid(row=1, column=2) def back(image_number): global my_label global button_forward global button_back my_label.grid_forget() my_label = Label(image=image_list[image_number-1]) button_forward = Button(root, text=">>", command=lambda: forward(image_number+1)) button_back = Button(root, text="<<", command=lambda: back(image_number-1)) if image_number == 1: button_back = Button(root, text = "<<", state=DISABLED) my_label.grid(row=0,column=0,columnspan=3) button_back.grid(row=1, column=0) button_forward.grid(row=1, column=2) button_back = Button(root, text="<<", command=back, state=DISABLED) button_quit = Button(root, text="Quit", command=root.quit) button_forward = Button(root, text=">>", command=lambda: forward(2)) button_back.grid(row=1, column=0) button_quit.grid(row=1, column=1) button_forward.grid(row=1, column=2) root.mainloop() ```