Skip to content

Instantly share code, notes, and snippets.

@RasinGue
Created March 21, 2023 15:54
Show Gist options
  • Save RasinGue/08e881d05df22cd0df1ee4190de725cd to your computer and use it in GitHub Desktop.
Save RasinGue/08e881d05df22cd0df1ee4190de725cd to your computer and use it in GitHub Desktop.
RandomPairsGen
import tkinter as tk
import random
def add_name():
name = name_entry.get()
if name:
names_list.insert(tk.END, name)
name_entry.delete(0, tk.END)
def edit_name():
selected_index = names_list.curselection()
if selected_index:
new_name = name_entry.get()
if new_name:
names_list.delete(selected_index)
names_list.insert(selected_index, new_name)
name_entry.delete(0, tk.END)
def delete_name():
selected_index = names_list.curselection()
if selected_index:
names_list.delete(selected_index)
def generate_pairs():
names = list(names_list.get(0, tk.END))
if len(names) % 2 != 0:
names.pop() # Remove the last name if the list has an odd number of names
random.shuffle(names)
pairs = [names[i:i + 2] for i in range(0, len(names), 2)]
pairs_text.delete(1.0, tk.END)
for pair in pairs:
pairs_text.insert(tk.END, f"{pair[0]} - {pair[1]}\n")
root = tk.Tk()
root.title("Random Pair Generator")
default_names = ["Alice", "Bob", "Charlie", "David", "Eve", "Frank"]
names_list = tk.Listbox(root)
for name in default_names:
names_list.insert(tk.END, name)
names_list.pack(pady=10)
name_entry = tk.Entry(root)
name_entry.pack(pady=10)
add_button = tk.Button(root, text="Add Name", command=add_name)
add_button.pack(pady=5)
edit_button = tk.Button(root, text="Edit Name", command=edit_name)
edit_button.pack(pady=5)
delete_button = tk.Button(root, text="Delete Name", command=delete_name)
delete_button.pack(pady=5)
generate_button = tk.Button(root, text="Generate Pairs", command=generate_pairs)
generate_button.pack(pady=10)
pairs_text = tk.Text(root, height=10, width=30)
pairs_text.pack(pady=10)
root.mainloop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment