Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter as tk
- import tkinter.messagebox as messagebox
- def generate_A():
- B = entry.get()
- n = len(B) # Number of digits in B
- B_digits = [int(digit) for digit in B] # Convert B to a list of digits
- possible_A = find_possible_A(B_digits)
- possible_A.sort()
- listbox.delete(0, tk.END)
- sum_A = 0 # Variable to store the sum of A values
- for A in possible_A:
- listbox.insert(tk.END, str(A))
- sum_A += A
- sum_label.configure(text="Sum of A values: " + str(sum_A))
- num_elements = len(possible_A)
- num_elements_label.configure(text="Number of Elements: " + str(num_elements))
- def clear_entries():
- entry.delete(0, tk.END)
- listbox.delete(0, tk.END)
- sum_label.configure(text="Sum of A values: ")
- num_elements_label.configure(text="Number of Elements: ")
- def copy_numbers():
- numbers = listbox.get(0, tk.END)
- if numbers:
- numbers_text = "\n".join(numbers)
- window.clipboard_clear()
- window.clipboard_append(numbers_text)
- messagebox.showinfo("Numbers Copied", "The numbers have been copied to the clipboard.")
- else:
- messagebox.showwarning("No Numbers", "No numbers to copy.")
- def find_possible_A(B_digits):
- n = len(B_digits)
- possible_A = []
- for i in range(10**(n+1)):
- A_digits = [int(digit) for digit in str(i).zfill(n+1)] # Convert i to a list of digits
- conditions_met = True
- for j in range(n):
- if abs(A_digits[j+1] - A_digits[j]) != B_digits[j]:
- conditions_met = False
- break
- if conditions_met:
- possible_A.append(i)
- return possible_A
- # Create the main window
- window = tk.Tk()
- window.title("Possible A Values")
- # Create input label and entry box
- label = tk.Label(window, text="Enter B (n-digit number):")
- label.pack()
- entry = tk.Entry(window)
- entry.pack()
- # Create clear, generate, and copy buttons
- button_frame = tk.Frame(window)
- button_frame.pack(pady=10)
- clear_button = tk.Button(button_frame, text="Clear", command=clear_entries)
- clear_button.grid(row=0, column=0, padx=5)
- generate_button = tk.Button(button_frame, text="Generate", command=generate_A)
- generate_button.grid(row=0, column=1, padx=5)
- copy_button = tk.Button(button_frame, text="Copy Numbers", command=copy_numbers)
- copy_button.grid(row=0, column=2, padx=5)
- # Create listbox to display possible A values
- listbox = tk.Listbox(window)
- listbox.pack(padx=10, pady=10)
- # Create label to display the sum of A values
- sum_label = tk.Label(window, text="Sum of A values: ")
- sum_label.pack()
- # Create label to display the number of elements
- num_elements_label = tk.Label(window, text="Number of Elements: ")
- num_elements_label.pack()
- # Run the GUI
- window.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement