Python 没有同一张牌我怎么洗牌?

Python 没有同一张牌我怎么洗牌?,python,tkinter,Python,Tkinter,我想写一个程序,为两个人玩两张纸牌游戏。有一种情况是,两个人可以抽同一张牌。是否有消除重复项的方法 from tkinter import * import random def user1_shuffle(): random.shuffle(imageList) for i in range(0,2): labelList[i]["image"] = imageList[i] def user2_shuffle(): random

我想写一个程序,为两个人玩两张纸牌游戏。有一种情况是,两个人可以抽同一张牌。是否有消除重复项的方法

from tkinter import * 
import random

def user1_shuffle():
    random.shuffle(imageList)
    for i in range(0,2):
        labelList[i]["image"] = imageList[i]
def user2_shuffle():
    random.shuffle(imageList)
    for i in range(2,4):
        labelList[i]["image"] = imageList[i]

    
window = Tk() # Create a window
window.title("Two cards game")        
imageList = [] # Store images for cards
for i in range(1, 53):
    imageList.append(PhotoImage(file = str(i) + ".gif"))
    
labelList = [] # A list of four labels
for i in range(4):
    labelList.append(Label(window, image=imageList[i]))
    labelList[i].grid(row=0, column=i)
        
btn1=Button(window, text = "user 1 shuffle", padx = 35, command = user1_shuffle)
btn1.grid(row=1, column=0, columnspan=2)
btn2=Button(window, text = "user 2 shuffle", padx = 35, command = user2_shuffle)
btn2.grid(row=1, column=2, columnspan=2)
btn3= Button(window, text = "Quit", padx = 138, 
            command = window.destroy)
btn3.grid(row=2, column=0, columnspan=4)
     
window.mainloop() # Create an event loop

抽牌时为什么不从列表中删除这些牌?它可以解决复制问题

为什么在绘制卡片时不将其从列表中删除?它可以解决复制问题

您非常接近!已经有一个共享组,
imageList
。您只需确保在将卡添加到用户手上时将其从牌组中移除,并在用户第二次洗牌时将其替换到牌组中(否则您最终会用完卡,并且您的代码将抛出异常)。

您已经非常接近了!已经有一个共享组,
imageList
。您只需要确保在将卡添加到用户手上时将其从牌组中移除,并在用户第二次洗牌时将其替换到牌组中(否则,您最终将耗尽卡,并且您的代码将抛出异常)