import tkinter as tk class SoilFertilizerCalculator: def __init__(self, master): self.master = master master.title("Soil and Fertilizer Calculator") # Create input fields for length, width, and depth self.length_label = tk.Label(master, text="Length (ft):") self.length_label.grid(row=0, column=0) self.length_entry = tk.Entry(master) self.length_entry.grid(row=0, column=1) self.width_label = tk.Label(master, text="Width (ft):") self.width_label.grid(row=1, column=0) self.width_entry = tk.Entry(master) self.width_entry.grid(row=1, column=1) self.depth_label = tk.Label(master, text="Depth (inches):") self.depth_label.grid(row=2, column=0) self.depth_entry = tk.Entry(master) self.depth_entry.grid(row=2, column=1) self.nitrogen_label = tk.Label(master, text="Nitrogen content (%):") self.nitrogen_label.grid(row=3, column=0) self.nitrogen_entry = tk.Entry(master) self.nitrogen_entry.grid(row=3, column=1) # Create a button to calculate the soil volume and fertilizer needed self.calculate_button = tk.Button(master, text="Calculate", command=self.calculate, bg="coral") self.calculate_button.grid(row=4, column=0, columnspan=2) # Create a label to display the soil volume result in square yards self.soil_result_label = tk.Label(master, text="", fg="coral") self.soil_result_label.grid(row=5, column=0, columnspan=2) # Create a label to display the fertilizer needed result in pounds self.fertilizer_result_label = tk.Label(master, text="", fg="light brown") self.fertilizer_result_label.grid(row=6, column=0, columnspan=2) def calculate(self): # Get the values from the input fields and convert to floats length = float(self.length_entry.get()) width = float(self.width_entry.get()) depth = float(self.depth_entry.get()) nitrogen = float(self.nitrogen_entry.get()) # Calculate the soil volume in cubic feet and convert to square yards volume = length * width * depth / 27.0 area = volume * 27.0 / 9.0 # Calculate the fertilizer needed in pounds fertilizer = area * nitrogen * 0.003 # Display the results in the labels self.soil_result_label.configure(text=f"Soil volume: {area:.2f} square yards") self.fertilizer_result_label.configure(text=f"Fertilizer needed: {fertilizer:.2f} pounds") root = tk.Tk() my_gui = SoilFertilizerCalculator(root) root.mainloop()