Python 第四章 应用案例

您所在的位置:网站首页 曾春蕾对象 Python 第四章 应用案例

Python 第四章 应用案例

#Python 第四章 应用案例| 来源: 网络整理| 查看: 265

第四章 组合数据类型及应用

1.列表应用——谁是胜利者

n个人围成一圈,每个人有一个编号1~n。他们从1开始依次报数,每次报到n的人淘汰,自动退出圈子,然后下一个人接着从1开始报数,然后下一个人接着从1开始报数,继续游戏,直到圈子只剩下一个人,游戏结束。请问每次淘汰人的编号是多少?最后胜利者又是谁?

分析:

1)建立两个列表q、deq分别存放报数人员序号和淘汰人员序号。

2)当队列人数大于1人时,从1~n报数,当到达队列尾,从头继续报数,并将每次报n的人员放入淘汰队列deq,同时从q队列删除。

3)最后一人为胜利者。

本例主要涉及列表元素的索引、添加和删除操作。

程序代码如下:

程序运行结果如下:

输入人数n 15

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

胜利者为:  [9]

依次出列者为:  [15, 1, 4, 8, 13, 7, 3, 2, 6, 12, 14, 10, 11, 5]

2.元组应用——桥牌的自动洗牌和发牌

玩桥牌,利用计算机实现自动洗牌和发牌,每家按花色整理好牌。

分析:该题主要涉及元组、列表的应用。

1)将花色、数字各放在一个元组中,定义放52张牌的一维列表。

2)顺次发牌,每隔4张取一张,13张牌成一手牌,通过两重循环生成4家牌。内循环是13张牌,放在列表中。出了内循环,将产生的13张牌添加为二维列表中的一个元素。

3)输出4家牌。

程序运行结果如下:

['♧K', '♧9', '♧4', '♤A', '♤8', '♤4', '♢Q', '♢9', '♢8', '♡Q', '♡7', '♡6', '♡3']

['♧Q', '♧8', '♧7', '♧3', '♧10', '♤J', '♤9', '♤10', '♢7', '♢10', '♡K', '♡A', '♡5']

['♧6', '♧5', '♧2', '♤7', '♤6', '♤2', '♢J', '♢5', '♢3', '♢2', '♡J', '♡8', '♡2']

['♧J', '♧A', '♤Q', '♤K', '♤5', '♤3', '♢K', '♢A', '♢6', '♢4', '♡9', '♡4', '♡10']

3.字典应用——统计单词出现的频率

网上搜索一段英文句子,统计各单词出现的频率。

分析:利用字典的键值对,按键进行分类统计,统计的结果存放在值中,步骤如下。

1)首先将英文文章放入字符串变量中。对字符串进行规范化处理,即去除标点符号,仅以空格分隔单词;单词首字母大写。

2)建立字典空集。将单词分离放入列表中,遍历列表,以单词作为键进行值的计数。形成键为单词、值为单词出现频率的字典。

3)输出字典的键和值,即单词和出现的次数。

程序代码如下:

程序运行结果如下:

Anti : 1

Tracks : 1

Is : 1

A : 1

Complete : 1

Solutionto : 1

Protect : 2

Your : 4

Privacy : 2

Andenhance : 2

Pc : 2

Performanceo : 1

Performance : 1

4.集合应用——女排参赛队员情况

2015年女排世界杯中国队部分队员名单是朱婷、袁心玥、魏秋月、丁霞、曾春蕾、张常宁。2019年女排世界杯中国队部分队员名单是朱婷、张常宁、李盈莹、颜妮、龚翔宇、曾春蕾,要求用集合运算或集合方法显示如下信息。

1)两次比赛所有的参赛队员和人数;

2)两次比赛都参加的队员和人数;

3)只参加一次比赛的队员和人数。

分析:分别建立两年中国队部分队员名单数据集合;利用并集操作可获得两年所有参赛队员名单;利用交集操作可获得两次比赛参加的队员名单;利用补集操作可获得只参加一次比赛的队员名单。

程序代码如下:

程序运行结果如下:

2015年参加比赛的队员为: 

 {'袁心玥', '朱婷', '魏秋月', '张常宁', '曾春蕾', '丁霞'} 人数为: 6

2019年参加比赛的队员为: 

 {'龚翔宇', '李盈莹', '朱婷', '张常宁', '曾春蕾', '颜妮'} 人数为: 6

参加两次比赛的所有队员为: 

 {'李盈莹', '张常宁', '曾春蕾', '颜妮', '袁心玥', '龚翔宇', '朱婷', '魏秋月', '丁霞'} 人数为: 9

参加两次比赛都参加的队员为: 

 {'曾春蕾', '朱婷', '张常宁'} 人数为: 3

只参加一次比赛的队员为: 

 {'袁心玥', '龚翔宇', '李盈莹', '魏秋月', '丁霞', '颜妮'} 人数为: 6



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3