欢迎第 位访客

练习题1.通过函数生成52张扑克牌

练习题要求:

1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组.

  1. 例如:[(‘红心’,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')]
执行结果

 

posted @ 2018-04-18 23:22  大橡皮  阅读(2064)  评论(0编辑  收藏  举报