|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- from tkinter import *
- import random
- root=Tk()
- m=["A","B","C","D","E","F","G","H","I","J","K","L"]
- n=random.sample(m,2)
- Button(root,text=n).pack()
- mainloop()
复制代码
import random
elements = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
random.shuffle(elements) # 原地随机打乱
groups = [elements[i:i+2] for i in range(0, len(elements), 2)] # 每2个一组
for idx, group in enumerate(groups, 1):
print(f"第{idx}组:{group[0]} 和 {group[1]}")
或者是
from tkinter import *
import random
def random_group():
# 打乱列表
elements = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
random.shuffle(elements)
groups = [elements[i:i+2] for i in range(0, len(elements), 2)]
# 更新标签显示
result = "\n".join([f"第{i+1}组:{g[0]} 和 {g[1]}" for i, g in enumerate(groups)])
label.config(text=result)
root = Tk()
root.title("随机分组器")
root.geometry("300x300")
btn = Button(root, text="随机分成6组", command=random_group)
btn.pack(pady=20)
label = Label(root, text="点击按钮生成分组", font=("Arial", 12), justify=LEFT)
label.pack(padx=10, pady=10)
mainloop()
原代码问题分析
n = random.sample(m, 2) 只取了2个元素,没有处理剩余10个。
Button(root, text=n) 中 text 参数应为字符串,而 n 是列表,虽然Tkinter会自动转换,但显示的是 ['A','B'] 这样的格式,不美观。
没有实现“分成6组”的逻辑。
|
|