4.3.2 元组的常用方法(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)

2024-08-10
| 21页
| 62人阅读
| 9人下载
普通

内容正文:

任务4.3 元组 用扑克牌实现抽奖 4.3 元组——用扑克牌实现抽奖 【任务描述】 扑克(Poker)是人们常用的游戏工具,不同的花色和牌值可以辅助我们做很多有趣味的活动。现在班级里举行活动,小T作为抽奖环节的负责人,想充分利用扑克牌和Python程序来实现抽奖,大家和小T一起来思考:怎样利用扑克和程序实现抽奖。 小T是用这样的思路来组织抽奖环节的:班级中有50位同学,每位同学随机抽取一张扑克牌(除副牌大王和小王),小T用Python程序产生一副扑克牌(正牌),用随机数函数随机产生若干牌,手上牌与程序随机产生牌一致的同学就中奖了。 4.3 元组——用扑克牌实现抽奖 【任务分析】 一副扑克牌有54张牌,其中52张是正牌,52张正牌又均分为13张一组,由黑桃♠、红桃♥、梅花♣、方块◆四种花色组成,每组花色的牌包括从1~10(1通常表示为A)及J、Q、K标示的13张牌,我们可以用元组实现。花色、数字的组合可以得到这52张正牌,我们可以用如“♠J”的形式来表示一张牌。根据经验,解决该任务,我们可以用Python中的元组等数据类型。 4.3 元组——用扑克牌实现抽奖 扑克牌 黑桃♠、红桃♥、梅花♣、方块◆四种花色 1-10(1通常表示为A)以及J、Q、K标示的13张牌 班级活动抽奖: 入场抽扑克牌,python程序产生扑克牌,并随机抽奖 4.3 元组——用扑克牌实现抽奖 扑克牌(“♠J”)产生: (1)定义两个元组分别存储花色和牌值 (2)循环嵌套这这两元组,进行两两组合,循环一次,产生一张扑克牌 (3)定义一个列表存储扑克牌,将新的扑克牌添加到此列表中 抽奖(“♠J”)环节: (1)产生n个0~53的随机数 (2)把这些随机数作为下标,取出列表中扑克牌 4.3 元组——用扑克牌实现抽奖 4.3.1 元组的基本操作 4.3.2 元组的常用方法 4.3.3 元组任务实现——用扑克牌实现抽奖 4.3.2 元组的常用方法 4.3.2 元组的常用方法 元组元素的统计 元组元素的索引 1.元组元素的统计——count tuple.count(x):返回x在元组tuple中出现的次数。 tup=(2008,'China',50,2008,'China','China') print('元组中出现2008的个数为:', tup.count(2008)) print('元组中出现"China"的个数为:', tup.count('China')) 元组中出现2008的个数为: 2 元组中出现"China"的个数为: 3 4.3.2 元组的常用方法 【例4-42】元组元素的统计。 2.元组元素的索引——index tuple.index(x):返回x在元组tuple中第一次出现的索引位置。 tup=(2008,'China',50,2008,'China','China') print('元组中第一次出现2008的索引值为:',tup.index(2008)) print('元组中第一次出现"China"的索引值为:',tup.index('China')) 元组中第一次出现2008的索引值为: 0 元组中第一次出现"China"的索引值为: 1 4.3.2 元组的常用方法 【例4-43】元组元素的索引。 3.元组的长度——len tuple.len(x):返回x元组元素个数。 tup=(2008,'China',50,2008,'China','China') print('元组长度为:',len(tup)) 元组长度为: 6 4.3.2 元组的常用方法 【例4-44】元组的长度。 4.3.2 元组的常用方法 边学边练: 有一个元组tup=(-1,2,10,-5,-7,2),请完成一下操作: (1)返回元素2在元组中出现的次数。 (2)返回元组的长度。 (3)请将元组中的负数、非负数分别取出,组成两个新的元组输出。 4.3.3 元组任务的实现——用扑克牌实现抽奖 4.3.3 元组任务的实现——用扑克牌实现抽奖 【任务描述】 根据前面的思路,小T用Python程序产生一副扑克牌(正牌),在程序中输入本次要抽取的奖项个数n,用随机数函数随机产生n张牌,手上牌与程序随机产生牌一致的同学就中奖了。 4.3.3 元组任务的实现——用扑克牌实现抽奖 班级活动——用扑克牌实现抽奖 产生一副扑克牌? 黑桃♠、红桃♥、梅花♣、方块◆四种花色 1-10(1通常表示为A)以及J、Q、K标示的13张牌 怎样抽奖? 4.3.3 元组任务的实现——用扑克牌实现抽奖 【任务分析】 (1)定义两个元组分别存储花色和牌值。 (2)循环嵌套这两个元组,进行两两组合,每循环一次,产生一张扑克牌。 (3)定义一个列表存储扑克牌,将新的扑克牌添加到列表中,输出此列表。 (4)根据抽奖规则用随机数函数产生随机数,显示中奖牌。 注意:随机数函数可以用random.sample(sequence, k)实现,该函数返回从序列sequence中随机选择的k长度的列表,这里的sequence可以是列表、元组、字符串或集合;k是一个整数值,它指定抽取样本的长度。 将花色定义成一个元组 将牌值定义成一个元组 输出列表即扑克牌 遍历牌值结束 牌值和花色组合产生牌,添加到列表 Y N 遍历花色结束 ("3","4", "5", "6","7", "8", "9","10", "J", "Q","K", "A", "2") ("♠", "♥", "◆","♣") '♠3' 随机抽奖 N Y (1)定义花色、牌值元组 (2)循环遍历牌值和花色,产生扑克牌,新的扑克牌添加到列表 (3)用随机数函数产生随机数,显示中奖的扑克牌 4.3.3 元组任务的实现——用扑克牌实现抽奖 4.3.3 元组任务的实现——用扑克牌实现抽奖 tupPokerType= ("♠", "♥", "◆","♣") # 定义花色元组 tupPokerNumber = ("3","4", "5", "6","7", "8", "9","10", "J", "Q","K", "A", "2") #定义牌值元组 (1)定义花色、牌值元组 4.3.3 元组任务的实现——用扑克牌实现抽奖 lstPoker = [] #定义牌列表 for i in tupPokerNumber: # 循环牌值元组 for j in tupPokerType: # 循环花色元组 lstPoker.append(j+i) # 产生一张新牌,添加到lstPoker末尾 (2)循环遍历牌值和花色,产生扑克牌,新的扑克牌添加到列表 4.3.3 元组任务的实现——用扑克牌实现抽奖 print(len(lstPoker)) # 输出牌列表长度,即产生的牌的张数 print(lstPoker) 52 ['♠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', '♠2', '♥2', '◆2', '♣2'] 运行结果 4.3.3 元组任务的实现——用扑克牌实现抽奖 import random n=int(input('请输入抽取奖项个数:')) # 输入需要抽取的奖项个数 lstWin=random.sample(lstPoker,n) # 在扑克牌列表中随机选取n个元素,即为中奖的扑克牌 print('本轮中奖:',lstWin) (3)用随机数函数产生随机数,显示中奖的扑克牌 请输入抽取奖项个数:5 本轮中奖: ['♠5', '♠J', '◆3', '◆K', '♠A'] 运行结果 $$

资源预览图

4.3.2  元组的常用方法(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
1
4.3.2  元组的常用方法(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
2
4.3.2  元组的常用方法(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
3
4.3.2  元组的常用方法(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
4
4.3.2  元组的常用方法(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
5
4.3.2  元组的常用方法(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。