练习题要求:
1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组.
- 例如:[(‘红心’,2),(‘草花’,2), …(‘黑桃A’)]
分析步骤:
1.52张牌不包括大小王.我们可以先定义一个临时空列表,然后把2-10的数字添加进去,再用列表的extend()方法把JQKA也添加到临时列表中
2.循环获取扑克牌类型["黑桃", "红桃", "方块", "草花"]中的元素,并和临时列表中的元素进行结合.把结合的结果添加到一个新的空列表card中.
3.return 返回 card. 再调用函数,就获取了52张牌.
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
[('黑桃', 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')]