練習題要求:
1.寫函數,返回一個撲克牌列表,里面有52項,每一項是一個元組.
- 例如:[(‘紅心’,2),(‘草花’,2), …(‘黑桃A’)]
分析步驟:
1.52張牌不包括大小王.我們可以先定義一個臨時空列表,然后把2-10的數字添加進去,再用列表的extend()方法把JQKA也添加到臨時列表中
2.循環獲取撲克牌類型["黑桃", "紅桃", "方塊", "草花"]中的元素,並和臨時列表中的元素進行結合.把結合的結果添加到一個新的空列表card中.
3.return 返回 card. 再調用函數,就獲取了52張牌.

1 def card(): 2 temp_list = [] 3 card =[] 4 for i in range(2, 11): 5 temp_list.append(i) 6 temp_list.extend(["J", "Q", "K", "A"]) 7 for i in temp_list: 8 for card_type in ["黑桃", "紅桃", "方塊", "草花"]: 9 a = (card_type, i) 10 card.append(a) 11 return card 12 13 14 res = card() 15 print(res)

[('黑桃', 2), ('紅桃', 2), ('方塊', 2), ('草花', 2), ('黑桃', 3), ('紅桃', 3), ('方塊', 3), ('草花', 3), ('黑桃', 4), ('紅桃', 4), ('方塊', 4), ('草花', 4), ('黑桃', 5), ('紅桃', 5), ('方塊', 5), ('草花', 5), ('黑桃', 6), ('紅桃', 6), ('方塊', 6), ('草花', 6), ('黑桃', 7), ('紅桃', 7), ('方塊', 7), ('草花', 7), ('黑桃', 8), ('紅桃', 8), ('方塊', 8), ('草花', 8), ('黑桃', 9), ('紅桃', 9), ('方塊', 9), ('草花', 9), ('黑桃', 10), ('紅桃', 10), ('方塊', 10), ('草花', 10), ('黑桃', 'J'), ('紅桃', 'J'), ('方塊', 'J'), ('草花', 'J'), ('黑桃', 'Q'), ('紅桃', 'Q'), ('方塊', 'Q'), ('草花', 'Q'), ('黑桃', 'K'), ('紅桃', 'K'), ('方塊', 'K'), ('草花', 'K'), ('黑桃', 'A'), ('紅桃', 'A'), ('方塊', 'A'), ('草花', 'A')]