当前课程知识点:Python 交互式程序设计导论 > 第1周 > A 课程视频(函数) > 其它操作符
返回《Python 交互式程序设计导论》慕课在线视频课程列表
通过前面课程的学习,大家已经知道了什么是变量、什么是表达式、什么是函数,今天,我们将给大家介绍新的运算,首先是模运算,紧接着
我们会给大家介绍,字符和数字之间的处理,最后将给大家介绍,如何向Python中导入模块包。
好,开始我们今天的课程。
我们先看我们的第一个例子
在这里给了我们一个数字number等于76
我们的任务是把数字number76的十位7和个位6得到
那么这个问题其实大家很熟悉,在我们小学2、3年级就知道
那么,76的十位是76除以10得到的商,而76个位的6是76除以10得到的余数
好,那么我们看下在我们计算机Python是怎么使用的
假设我们的十位等于ten,等于number除以,注意
如果是除的话,我们直接用斜杠就可以
但是,我们要取整的话我们就要用双斜杠
我们输出下,ten,好,点击运行
好,我们控制台发现它是7,结果正确
好了,我们在看下个位
那么它是除以10以后的余数,那么这就是我们今天要讲的模运算
那么除以10的余数,或者说我们的,对于10的模运算是多少呢?
那么在我们的Python当中,我们有一个特殊的符号,用百分号表示
好,我们在输出的地方加一个,运行
那我们的十位7和个位6都得到了。好,在这里呢,我们返回一下,
用我们的十位乘以10加上个位,那,我们考虑它应该等于76.我们执行下,看是不是等于76.
额,执行正确,76.很好
那么这就是我们讲的模运算,其实和我们前面中小学讲的这个除法当中的余数是相同的,只不过在我们的计算机当中
我们在这里讲模运算,那么,对于模运算来说,在我们的日常生活中,有哪些实际用处
好,我们看一个PPT
那么,在这张图里我们有两个时钟,一个是左侧的12小时时钟,也就是我们的一天分为上午和下午
上午我们用AM表示,下午我们用PM表示
那么,在右侧呢,我们是一个24小时时钟,不分为上下午
如果现在我们有一个例子说是,晚上11点,晚上11点,好,我们说,晚上11点经过7个小时是几点呢?
额,好,我们可以算一下,晚上11点经过7个小时以后应该是凌晨6点,那么,这是我们,根据我们的日常经验就可以得到
但是,实际上是怎么算呢?
噢,晚上11点,晚上11加7等于18,那么18除以12的余数等于6,额,原来是这样的
余数等于6也就是我们的模,额,画得有点歪,到这,到这,这就是我们关于时钟的一个模运算
好,在这里我们发现,在我们的12小时时钟有早上AM和下午PM的一个运算,在这里,可能感觉起来有点混乱
有朋友对你说,嘿,我们十点钟在门口见。好,你早上十点钟(象声词)跑上去了,结果发现没有人
你打电话一问,噢,我说的十点是晚上十点。
现在这么热,早上十点谁起这么早呀。
所以,对于这种12小时时钟,我们用起来感觉会有些不方便
那么我们看下24小时时钟。晚上11点,那么我们这个地方用24小时时钟表示就不是11了,而是23
那么经过7个小时,我们知道,23加7等于30。那么,30对24取余数等于6,好,到这
好,那么我们在Pycharm里看看是怎么运行的
好,那么我们的时间是23,时间的偏移量呢是7,我们直接输出,那么在这里呢,我们给一个,给一个时钟的一个制式是24小时
好了,print等于什么呢
等于hour加上 对这个时钟的这个制式取余或者叫取模。好,我们运行下,那么在运行之前,我们先把前面的代码进行注释
不影响我们后面的运行结果,多行的同时注释,我们用command加斜杠,
那么,这个斜杠是问号下面的斜杠
如果是单行注释,我们只需要在一行代码最前方加#号键就可以了
好,我们运行一下
我们发现,这个得到的结果是30,并不是我们要的6
我们再看下我们这块代码
噢,我们发现这地方shift是7,7对24取余等于7,7加23,的确等于30
那么,我们发现这地方有个运算优先级的一个错误
这是我们在运算过程中经常会遇到的一些错误
就是我们要使用括号避免这些错误
好,我们再次运行
那么时间显示正确,是6
好,那么,再看下面的这个例子
我们现在是凌晨3点,那么我们想知道7个小时以前是几点?
噢,那么我们回忆一下7个小时以前,凌晨3点,7个小时以前应该是20点,那我们来看下对不对
我们可以把这段代码直接复制一下
好,在运行之前,我们也是把它多行注释,command加斜杠
好,我们再运行下
很好,结果正确,20
那么,我们发现这两个有所不同
一个是23加7等于30,30对24取余
一个是3加-7等于-4,-4对24取余
那么有正数和负数取余。
那么,以前我们中小学接触的主要是对正整数取余,那么,现在我们把它扩充到负整数取余
当然,我们这地方主要考虑的是整数的取余。
那么,下面的问题我们是考虑数据类型之间的转换
好,我们先把它注释了,额,多行注释,command加斜杠
那么,数据类型的转换,前面我们已经给大家介绍了两个类型
一个是整型int,一个是浮点型float
那么在这里呢我们说怎么样将一个整型转换成字符串,为什么要转换成字符串
那么,大家后面会知道,我们的字符串在格式输出的时候非常占优势
那比如说我们现在给了一个时间6,我们希望大家把这个时间6呢,按照24小时格式转换成06冒号00的这种形式
那如果转换成06,我们可以利用我们第一个例子可以得到十位和个位,很容易
十位假设还是ten,对10取整,个位等于对10取余,好,我们打印一下
那我们的十位和个位都得到了
但我们发现这个06后面有个冒号00,那么这个在处理的时候非常简单,在我们的后面,加一个冒号00就可以了
冒号00就可以了,好,我们在运行一下
0 6冒号00,我们发现这个和我们最终得到的这个还是有些差距,什么差距呢
就是我们中间好像多了一些空格
好这就是在格式输出的时候,我们需要用到字符串的道理
好,我们把它转换成字符串
那么,数字转换成字符串,我们有一个强制类型转换str
好,我们运行一下
我们发现上下两个输出结果相同,输出结果相同,但是,不同点在于我们上面这个ten、one都是数字
而下面这个str(ten)和str(ten)那它都是字符
那么对于字符,在格式输出的时候,我们只要做一个简单的处理就ok了,就可以得到我们这个结果、怎么得呢
就是我们把中间的这个逗号去掉,我们换一下,换成什么呢
就是两个字符之间连接在Python里面有个特别好的连接符,大家可能没有想到有这么简单
+号就ok了。不过大家会说,这个+号不是在四则运算里面是数字的加减吗
对,在数字的四则运算加里面它就是数字的加,而在字符串里面这个+就表示这是两个字符串的连接
好,我们放一个+,我们再次运行
非常棒,我们的结果和我们所要求的是一模一样
那么,这就是为什么我们把一些数字转换成字符,在格式输出的时候
所以,这个大家要牢牢掌握,在后面的一些项目中可能会经常用到
那么这是数字转换成字符
那么怎么样将字符串转换成数字呢?我在这里再举个例子
比如说,给了一个字符串a等于
好,在这里呢我们有一个要说明的,就是在我们的Python里面,我们要使用数据的时候,使用变量的时候
我们可以不先申明变量的类型,我们可以直接用,你认为它是什么它就是什么
好,我们先把它注释掉,command加斜杠。什么意思呢?就是如果我们这地方我们写个a,单引号1,
额,那么对于一些特殊的数据类型那么它有一些特殊要求
比如说这地方,如果我们用引号或者单引号表示出来,表示出来,那么它就是字符
b
好,那我们可以输出一下
如果a、b都是字符,那么+就表示一个字符串的连接,那么a+b,我们觉得应该是13.4
好,我们运行一下,看是不是这个结果
是13.4,那说明a和b都是字符
那a和b是数字的话,a+b就应该不是13.4,应该是4.4
好,那我们把字符串转换成数字,我们设c等于强制类型转换a
d等于强制类型转换 b
好,我们再输出一行
好,我们运行一下
注意,这地方有一个错误,什么错误呢
值类型错误
它说这个整型不能够对字符串3.4进行操作
那我们的这个,换一换,换成float浮点型,再次运行下
对了,你看,c被强制类型转换
就是我们这个a啊,字符a,就是字符1被强制类型转换成整型,得到的结果是1
那么,字符3.4被强制类型float转换成浮点型的3.4,1+3.4等于4.4
额,那么这就是我们怎么样将字符转换成数据、数值
那么,最后我们要讲的是在Python中我们怎么样导入一些Python的模块
就是在我们绘制图形的时候,我们可能会用到一些图形的一些函数库
那么这时候我们只需要导入一个simpleguitk就可以了,这些模块都是其他的开发软件事先编制好的一些模块
那么在这里我们要引用、使用。
那么在使用之前必须要先导入,就是我们要加入一个关键字import,把这个函数包的名字导进来,我们就可以用了
那比如说我们要使用一些标准的数学函数模块,那么这时候我们就要import math
那么,常见的比如说计算圆的面积、圆的周长,那么我们就要要用到pi,我们必须要导入import math,我们就可以使用pi了
那么你要产生随机数,那我们直接导入import random,那么就ok了。
那么在后面大家可能用到很多这样的import 函数块,
好,今天的内容就到这,下次再见。
-课程简介
--课程简介
-A 课程视频(算数操作符及表达式)
--绪论
-B 课程视频(变量及赋值)
--变量
--项目提交
-C 辅助视频(计算机结构、Python开发环境安装)
-D 辅助视频(如何提交项目)
--项目提交
-第0周--小测验
-本周项目:"我喜欢Python"
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
--项目提交
-A 课程视频(函数)
--函数
--其它操作符
--随机函数
-B 课程视频(逻辑及表达式)
--逻辑值和比较
--条件
--编程技巧
-第1周--小测验
-本周项目:“老虎杠子鸡虫”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(Python交互式应用)
--事件驱动编程
--按钮
-B 课程视频(输入框、全局变量)
--输入框
--编程技巧
-第2周--小测验A
-第2周--小测验B
-本周项目:猫咪藏在哪个房间
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(画布绘图)
--画布和图形绘制
--字符串处理
--图片和音效
-B 课程视频(计时器)
--计时器
--交互式绘图
--“神奇时钟”游戏
--编程技巧
-第3周--小测验A
-第3周--小测验B
-本周项目:“神奇时钟”
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(列表)
--列表
--键盘输入
--碰撞和反射
-B 课程视频(键盘控制)
--速度控制
--运动
--编程技巧
--“桌上冰球”游戏
-第4周--小测验A
-第4周--小测验B
-本周项目:“桌上冰球”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(鼠标输入、列表进阶)
--鼠标输入
--Video
--Video
--Video
-B 课程视频(字典和图片)
--Video
--Video
--Video
--Video
-第5周--小测验A
-第5周--小测验B
-本周项目:“世界杯八强连连看”
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(类)
--华容道中的类
-B 课程视频(平铺图片)
--平铺图片
--理解对象
--编程技巧
--“华容道”游戏
-第6周--小测验A
-第6周--小测验B
-本周项目:“华容道”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(类进阶及文件操作)
--集合
--文件操作
--文字块类
--处理停止的文字块
-B 课程视频(游戏状态控制)
--游戏记分规则
--编程技巧
-第7周--小测验A
-第7周--小测验B
-本周项目:决战三字经
--游戏说明
--程序说明
--编程步骤
--评分标准
--项目模板
-A、课程视屏(精灵集合)
--Video
--精灵类
--战士类
--编程技巧
-B、课程视屏(动画)
--精灵碰撞
--精灵动画
--编程技巧
--保卫家园游戏
-第8周--小测验
-本周项目:守卫家园
--游戏说明
--程序说明
--编程步骤
--评分标准
--项目模板