当前课程知识点:Python 交互式程序设计导论 >  第7周 >  B 课程视频(游戏状态控制) >  编程技巧

返回《Python 交互式程序设计导论》慕课在线视频课程列表

编程技巧在线视频

编程技巧

下一节:“决战三字经”游戏

返回《Python 交互式程序设计导论》慕课在线视频列表

编程技巧课程教案、知识点、字幕

大家好,欢迎来到本周的编程技巧课,

这个礼拜我们已经接触到集合这个概念,也学习了一些集合的基本操作

我们今天的编程技巧课,主要是给大家介绍一下有关集合的两个高级操作

下面开始今天的内容,首先我们先来创建一个集合,取个名字叫s

我们已经在前面学习过创建集合的时候的方法是使用关键字set,

里面是中括号1、2、3、4,里面有4个元素那我现在来打印一下我这个集合的类型

s的类型我看它是不是set类型,type(s),同时我再打印一下s,

右键运行一下,大家发现它的类型呢是set,没有问题,这种创建的方式肯定是没有错的

只是打印出来给大家看一下,我打印它的值的时候发现显示的是以一对花括号括起来的几个数字,

就是它的表现形式,运行之后变成了花括号

那我们知道在我们前面学习的能用花括号括起来的表示的是字典对不对,

大家还记不记得创建一个空的字典,是直接用一个空的花括号是吧,打印一下,print,

然后我们在print一下这个空的字典

我们看一下,运行,的确,它是空的,它的类型是字典类型,

那么,我们来尝试一下,我在这个花括号里面写上数字会怎么样,1逗号分隔,2,写了1和2两个元素

首先我来打印它,其次,我要看一下它的类型,type,1,2

好,我来运行一下,发现它有什么问题呢?

发现当我在花括号里面写上数字的时候,多个数字之间用逗号分隔的时候,它的类型变成了集合

那就是说明,我们在创建集合的时候有两种方式,第一种方式是在创建集合的时候用关键字set来创建,

第二种方式呢是用大括号,花括号来创建,两种方式

但是如果这个花括号里面什么也没有写的时候,它就是一个空的字典,

这个大家一定要注意一下,在使用的过程中要注意,这是我们要注意的第一个问题

我们继续,我先把这些代码注释掉,第二个问题,我们先创建一个集合s,

通过set这种方式来创建,它里面有四个元素,1、2、3、4,里面有四个元素

我现在再创建一个集合,给它取个名字叫t,我同样用set这种方式来创建,里面呢写2、3、4、5,我们来看一下这两个集合呢,

就会发现,它两有重叠的元素对不对,因为第一个里面有2、3、4

第二个里面也有2、3、4这3个元素,但是它们也有不同的元素,好了

,我创建第三个集合,st ,st这个集合我是使用什么方式来创建呢,s点这个操作,这个里面呢是t,

它表示什么呢,我运行一下结果后打印一下

st,我先打印st,运行,大家发现st的值是2、3、4,说明通过调用这个操作之后呢,

就是这个函数,它呢是把s这个集合和t这个集合,两个集合公共的部分计算出来后呢赋值给,返回给了我们一个新的集合

就创建了一个新集合,这个新集合就是它们的交集

两个集合公共的元素,那我们再来打印一下,来看一下s和t有没有变化呢,这种操作会影响s和t吗?

我们来运行一下,s和t没有发生任何变化,说明这种求交集的操作,不会对我原来的有任何的影响

只是会将它们公共的部分作为返回值,用来创建一个新的集合st

好,这是第一种操作,我们再来看一下还有一种操作,s和t都没有发生变化

,我再来创建一个,我让st不再等于它们的交了,我让它等于s点,用这个函数,

同样里面也是t,那我们把它打印一下,我把它复制一下吧

打印的是一样,我把它拷贝下来了,为了看得更清楚,我把它先注释掉,

这个结果就是它了,我再运行一下,大家发现,

首先返回值,st的返回值是一个None值,None值意思就是说明这个操作没有任何的返回值是吧

那Python里面当一个函数没有返回值的时候,它就默认返回一个空值,

就是它没有返回任何的东西,那这个st是一个None值

说明它也没有创建一个新的集合,那我们再来看一下s和t它有没有发生变化,

大家发现s呢是2、3、4,2、3、4是我们s和t的公共部分,而t呢没有发生变化,

那说明这个操作,带上update之后,这个方法变成了更新s的一个操作,t不会发生变化

那它是怎么更新的呢,它是把s和t的公共部分计算出来,然后重新赋值给s,

把s的值变化掉,更新掉,使s成为它们的交集部分,但是t呢不发生变化

这是第二种操作,那我们还有如果我们这样做,同样我也把它给注释掉,

这样看的更清楚一些,把这两个复制到下面去,这样大家看的更清楚一些,原来不是t等于它吗,

我现在这样做t等于s

那同样我的st呢,st是这样计算的,s点同样也要更新了,

update,但是在这个里面呢,我们更新的数据,我给它换一下,我认为,改成3、4、5、6、7

我们看一下这个集合和我们的s有什么共同之处,它们都有两个元素3、4

那我们看一下会有什么操作呢,根据上面的经验,我们已经知道,刚才的这个我们已经知道了,

st是一个None值,肯定的,那我还是打印一下,确认下,确认一下None值,因为它不会有任何返回

那根据上面的经验我们也知道,s呢肯定会被修改为它们两个的公共部分也就是3和4,对不对,打印一下s,

s肯定会发生变化,那我看一下t会不会发生变化呢,看一下t会怎么样,运行

首先,这个没有问题,它返回的是None,不会有返回值,

这个没有问题,s呢是3和4就是这个集合和这个集合的公共部分

也没有问题,我的t也发生了变化,大家看t也发生了变化,

它和s是同样的对吧变成了3和4,那说明我们的通过赋值操作之后,

t呢和s是完全一样的一个集合,所以对s的任何操作,任何更新操作,都会影响到t

这个大家在使用的过程中一定要注意一下,

好,那关于集合使用过程中的的一些小技巧就给大家介绍到这里,我们下次课再见

Python 交互式程序设计导论课程列表:

第0周

-课程简介

--课程简介

-A 课程视频(算数操作符及表达式)

--绪论

--Python交互式解释器使用方法

--PyCharm集成开发环境介绍

--算数操作符及表达式

-B 课程视频(变量及赋值)

--变量

--项目提交

--“我喜欢Python”热身小项目

-C 辅助视频(计算机结构、Python开发环境安装)

--Windows平台安装Python开发环境

--Mac平台安装Python开发环境

-D 辅助视频(如何提交项目)

--项目提交

-第0周--小测验

-本周项目:"我喜欢Python"

--项目发布、完成、提交及评分流程

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

--项目提交

第1周

-A 课程视频(函数)

--函数

--其它操作符

--随机函数

-B 课程视频(逻辑及表达式)

--逻辑值和比较

--条件

--编程技巧

--“老虎杠子鸡虫”游戏

-第1周--小测验

-本周项目:“老虎杠子鸡虫”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第2周

-A 课程视频(Python交互式应用)

--事件驱动编程

--事件可视化跟踪执行

--SimpleGUITk

--按钮

-B 课程视频(输入框、全局变量)

--输入框

--局部变量和全局变量

--编程技巧

--“猫咪藏在哪个房间”游戏

-第2周--小测验A

-第2周--小测验B

-本周项目:猫咪藏在哪个房间

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第3周

-A 课程视频(画布绘图)

--画布和图形绘制

--字符串处理

--绘图和计时器可视化跟踪执行

--图片和音效

-B 课程视频(计时器)

--计时器

--交互式绘图

--“神奇时钟”游戏

--编程技巧

-第3周--小测验A

-第3周--小测验B

-本周项目:“神奇时钟”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第4周

-A 课程视频(列表)

--列表

--键盘输入

--列表及变化可视化跟踪执行

--碰撞和反射

-B 课程视频(键盘控制)

--速度控制

--运动

--编程技巧

--“桌上冰球”游戏

-第4周--小测验A

-第4周--小测验B

-本周项目:“桌上冰球”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第5周

-A 课程视频(鼠标输入、列表进阶)

--鼠标输入

--Video

--Video

--Video

-B 课程视频(字典和图片)

--Video

--Video

--Video

--Video

-第5周--小测验A

-第5周--小测验B

-本周项目:“世界杯八强连连看”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第6周

-A 课程视频(类)

--面向对象编程(类和对象入门)

--面向对象编程(类和对象进阶)

--对象可视化跟踪执行

--华容道中的类

-B 课程视频(平铺图片)

--平铺图片

--理解对象

--编程技巧

--“华容道”游戏

-第6周--小测验A

-第6周--小测验B

-本周项目:“华容道”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第7周

-A 课程视频(类进阶及文件操作)

--集合

--文件操作

--文字块类

--处理停止的文字块

-B 课程视频(游戏状态控制)

--游戏记分规则

--游戏结束的条件及处理

--编程技巧

--“决战三字经”游戏

-第7周--小测验A

-第7周--小测验B

-本周项目:决战三字经

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

第8周

-A、课程视屏(精灵集合)

--Video

--精灵类

--战士类

--编程技巧

-B、课程视屏(动画)

--精灵碰撞

--精灵动画

--编程技巧

--保卫家园游戏

-第8周--小测验

-本周项目:守卫家园

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

编程技巧笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。