python :生成隨機的一副撲克牌(不包括大小王)
阿新 • • 發佈:2022-04-12
# 一副撲克除去大王小王之外,剩下的 52 張紙牌以花色為基準(梅花、方塊、黑桃、紅心)可分為 4 組,每組有 13 張牌組成; # 因此可建立兩個列表一個來儲存花色,一個儲存 13 個字元;通過兩個列表之間的隨機組合來生成 52 張紙牌, # 首先牌的型別有:紅心,梅花,黑桃,方塊 # # 除了2~10外還有J Q K和A # # 定義一個完整有序的撲克牌列表和一個隨機生成的列表 # 再寫生成完整有序的一副撲克牌的函式 # # 在有序的撲克牌裡隨機選取就是隨機的撲克牌 # 首先牌的型別有:紅心,梅花,黑桃,方塊 import random start_num =2 end_num =11types = ['紅心','梅花','方塊','黑桃'] # 除了2~10外還有J Q K和A queues = ['J','Q','K'] A='A' # 定義一個完整有序的撲克牌列表和一個隨機生成的列表 play_cards=[] play_cards_random=[] # 再寫生成完整有序的一副撲克牌的函式 def creatcards(): for type in types: play_cards.append(type+A) for num in range(start_num,end_num): play_cards.append(type+str(num)) for queue in queues: play_cards.append(type+queue) return play_cards # 在有序的撲克牌裡隨機選取就是隨機的撲克牌 def shengcheng(): num = 52 while num > 0: num = num - 1 rnum = int(random.randint(0, num)) play_cards_random.append(play_cards[rnum]) del play_cards[rnum]return play_cards_random if __name__ == '__main__': creatcards() list = shengcheng() print(list)