Created
March 21, 2023 15:54
-
-
Save RasinGue/08e881d05df22cd0df1ee4190de725cd to your computer and use it in GitHub Desktop.
RandomPairsGen
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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