书签 分享 收藏 举报 版权申诉 / 75
上传文档赚钱

类型Python电子教案基本数据类型课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4523696
  • 上传时间:2022-12-16
  • 格式:PPT
  • 页数:75
  • 大小:901.84KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Python电子教案基本数据类型课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Python 电子 教案 基本 数据类型 课件
    资源描述:

    1、Python电子教案基本数据类型ppt课件第3章 基本数据类型.数字类型.数字类型n 程序元素:010/10,存在多种可能n 表示十进制整数值10n 类似人名一样的字符串n 数字类型对Python语言中数字的表示和使用 进行了定义和规范.数字类型Python语言包括三种数字类型n整数类型n浮点数类型n复数类型.整数类型n 与数学中的整数概念一致,没有取值范围限制n pow(x,y)函数:计算xyn 打开IDLEn 程序1:pow(2,10),pow(2,15)n 程序2:pow(2,1000)n 程序3:pow(2,pow(2,15).整数类型n 示例n 1010,99,-217 n 0 x9

    2、a,-0X89 (0 x,0X开头表示16进制数)n 0b010,-0B101 (0b,0B开头表示2进制数)n 0o123,-0O456 (0o,0O开头表示8进制数).浮点数类型n 带有小数点及小数的数字 n Python语言中浮点数的数值范围存在限制,小数精度也存在限制。这种限制与在不同计算机系统有关.浮点数类型.浮点数类型n 示例n 0.0,-77.,-2.17 n 96e4,4.3e-3,9.6E5 (科学计数法)n 科学计数法使用字母“e”或者“E”作为幂的符号,以10为基数。科学计数法含义如下:e=a*10b.举个例子,现在用二进制来表示十进制的1.2:1.01=1+1/4=0.

    3、25,偏大 1.001=1+1/8=0.125,偏小 1.0011=1+1/8+1/16=0.1875,1.001101=1+1/8+1/16+1/64=0.203125,又偏大 1.0011001=1+1/8+1/16+1/128=0.1953125,1.00110011=1+1/8+1/16+1/128+1/256=0.19921875,这个很接近.复数类型n 与数学中的复数概念一致,z=a+bj,a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识n 示例:12.3+4j,-5.6+7j.复数类型n z=1.23e-4+5.6e+89j(实部和虚部是什么?)n 对于复数

    4、z,可以用z.real获得实数部分,z.imag获得虚数部分n z.real=0.000123 z.imag=5.6e+89.数字类型的操作.内置的数值运算操作符n 三种类型存在一种逐渐“扩展”的关系:整数-浮点数-复数 (整数是浮点数特例,浮点数是复数特例)n 不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型n 123+4.0=127.0 (整数+浮点数=浮点数).内置的数值运算操作符数字类型之间相互运算所生成的结果是“更宽”的类型,基本规则是:整数之间运算,如果数学意义上的结果是小数,结果是浮点数;整数之间运算,如果数学意义上的结果是整数,结果是整数;整数和浮点数混合运算,输出结

    5、果是浮点数;整数或浮点数与复数运算,输出结果是复数。.内置的数值运算操作符操作符描述x+yx与y之和x-yx与y之差x*yx与y之积x/yx与y之商x/yx与y之整数商,即:不大于x与y之商的最大整数x%yx与y之商的余数,也称为模运算-xx的负值,即:x*(-1)+xx本身x*yx的y次幂,即:xy.内置的数值运算函数Python解释器提供了一些内置函数,在这些内置函数之中,有6个函数与数值运算相关 函数描述abs(x)x的绝对值divmod(x,y)(x/y,x%y),输出为二元组形式(也称为元组类型)pow(x,y,z)(x*y)%z,.表示该参数可以省略,即:pow(x,y),它与x*

    6、y相同round(x,ndigits)对x四舍五入,保留ndigits位小数。round(x)返回四舍五入的整数值max(x1,x2,xn)x1,x2,xn的最大值,n没有限定min(x1,x2,xn)x1,x2,xn的最小值,n没有限定.数字类型的转换函数描述int(x)将x转换为整数,x可以是浮点数或字符串float(x)将x转换为浮点数,x可以是整数或字符串complex(re,im)生成一个复数,实部为re,虚部为im,re可以是整数、浮点数或字符串,im可以是整数或浮点数但不能为字符串数值运算操作符可以隐式地转换输出结果的数字类型例如,两个整数采用运算符“/”的除法将可能输出浮点数结

    7、果。此外,通过内置的数字类型转换函数可以显式地在数字类型之间进行转换 .数字类型的转换n 三种类型可以相互转换 函数:int(),float(),complex()n 示例:n int(4.5)=4(直接去掉小数部分)n float(4)=4.0(增加小数部分)n complex(4)=4+0J.数字类型的转换n 示例:complex(4.5)=4.5+0J.数字类型的判断n 函数:type(x),返回x的类型,适用于所有类型的判断n 示例:.math库的使用.math库概述n math库是Python提供的内置数学类函数库n math库不支持复数类型n math库一共提供了4个数学常数和44

    8、个函数。n44个函数共分为4类,包括:16个数值表示函数、8个幂对数函数、16个三角对数函数和4个高等特殊函数.math库概述首先使用保留字import引用该库 第一种:import math 对math库中函数采用math.()形式使用 第二种,from math import 对math库中函数可以直接采用()形式使用import mathmath.ceil(10.2)11from math import floorfloor(10.2)10.math库解析n math库包括4个数学常数常数数学表示描述math.pi圆周率,值为3.141592653589793math.ee自然对数,值为

    9、2.718281828459045math.inf正无穷大,负无穷大为-math.infmath.nan 非浮点数标记,NaN(Not a Number).math库解析n math库包括16个数值表示函数函数数学表示描述math.fabs(x)返回x的绝对值math.fmod(x,y)x%y返回x与y的模math.fsum(x,y,)x+y+浮点数精确求和math.ceil(x)向上取整,返回不小于x的最小整数math.floor(x)向下取证,返回不大于x的最大整数math.factorial(x)x!返回x的阶乘,如果x是小数或负数,返回ValueErrormath.gcd(a,b)返回

    10、a与b的最大公约数math.frepx(x)x=m*2e返回(m,e),当x=0,返回(0.0,0)math.ldexp(x,i)x*2i返回x*2i运算值,math.frepx(x)函数的反运算math.modf(x)返回x的小数和整数部分math.trunc(x)返回x的整数部分math.copysign(x,y)用数值y的正负号替换数值x的正负号math.isclose(a,b)比较a和b的相似性,返回True或Falsemath.isfinite(x)当x为无穷大,返回True;否则,返回False math.isinf(x)当x为正数或负数无穷大,返回True;否则,返回Falsem

    11、ath.isnan(x)当x是NaN,返回True;否则,返回False.math库解析n math库中包括8个幂对数函数函数数学表示描述math.pow(x,y)xy返回x的y次幂math.exp(x)ex返回e的x次幂,e是自然对数 math.expml(x)ex-1返回e的x次幂减1math.sqrt(x)返回x的平方根math.log(x,base)math.log1p(x)返回1+x的自然对数值math.log2(x)返回x的2对数值math.log10(x)返回x的10对数值.math库解析n math库包括六个“三角双曲函数函数数学表示描述math.degree(x)角度x的弧度

    12、值转角度值math.radians(x)角度x的角度值转弧度值math.hypot(x,y)返回(x,y)坐标到原点(0,0)的距离math.sin(x)sin x返回x的正弦函数值,x是弧度值math.cos(x)cos x返回x的余弦函数值,x是弧度值math.tan(x)tan x返回x的正切函数值,x是弧度值math.asin(x)arcsin x返回x的反正弦函数值,x是弧度值math.acos(x)arccos x返回x的反余弦函数值,x是弧度值 math.atan(x)arctan x返回x的反正切函数值,x是弧度值math.atan2(y,x)arctan y/x返回y/x的反

    13、正切函数值,x是弧度值math.sinh(x)sinh x返回x的双曲正弦函数值math.cosh(x)cosh x返回x的双曲余弦函数值math.tanh(x)tanh x返回x的双曲正切函数值math.asinh(x)arcsinh x返回x的反双曲正弦函数值math.acosh(x)arccosh x返回x的反双曲余弦函数值math.atanh(x)arctanh x返回x的反双曲正切函数值.math库解析n math库包括4个高等特殊函数函数数学表示描述math.erf(x)高斯误差函数,应用于概率论、统计学等领域math.erfc(x)余补高斯误差函数,math.erfc(x)=1-

    14、math.erf(x)math.gamma(x)伽玛(Gamma)函数,也叫欧拉第二积分函数math.lgamma(x)ln(gamma(x)伽玛函数的自然对数.实例3:天天向上的力量.实例代码3.1:天天向上一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1,当没有学习时由于遗忘等原因能力值相比前一天下降1。每天努力和每天放任,一年下来的能力值相差多少呢?.实例代码3.1:天天向上n 运行结果如下,每天努力1,一年下来将提高44%,好像不多?请继续分析。实例代码3.1e3.1DayDayUp365.py 12345#e3.1DayDayUp365.pyimp

    15、ort mathdayup=math.pow(1.0+0.001),365)#提高提高0.001daydown=math.pow(1.0-0.001),365)#放任放任0.001print(向上向上:.2f,向下向下:.2f.format(dayup,daydown).实例代码3.2:天天向上一年365天,如果好好学习时能力值相比前一天提高5,当放任时相比前一天下降5。效果相差多少呢?.实例代码3.2:天天向上n 运行结果如下,每天努力5,一年下来将提高6倍!这个,不容小觑了吧?实例代码3.2e3.2DayDayUp365.py 12345#e3.2DayDayUp365.pyimport

    16、mathdayup=math.pow(1.0+0.005),365)#提高提高0.005daydown=math.pow(1.0-0.005),365)#放任放任0.005print(向上向上:.2f,向下向下:.2f.format(dayup,daydown).实例代码3.3:天天向上一年365天,如果好好学习时能力值相比前一天提高1%,当放任时相比前一天下降1%。效果相差多少呢?.实例代码3.3:天天向上n 运行结果如下,每天努力1%,一年下来将提高37倍。这个相当惊人吧!实例代码3.3e3.3DayDayUp365.py 123456#e3.3DayDayUp365.pyimport m

    17、athdayfactor=0.01dayup=math.pow(1.0+dayfactor),365)#提高提高dayfactordaydown=math.pow(1.0-dayfactor),365)#放任放任dayfactorprint(向上向上:.2f,向下向下:.2f.format(dayup,daydown).实例代码3.4:天天向上一年365天,一周5个工作日,如果每个工作日都很努力,可以提高1%,仅在周末放任一下,能力值每天下降1%,效果如何呢?.实例代码3.4:天天向上n 猜猜运行结果?每周努力5天,而不是每天,一年下来,水平仅是初始的4.63倍!与每天坚持所提高的37倍相去甚

    18、远实例代码3.4e3.4DayDayUp365.py 12345678#e3.4DayDayUp365.pydayup,dayfactor=1.0,0.01for i in range(365):if i%7 in 6,0:#周六周日周六周日dayup=dayup*(1-dayfactor)else:dayup=dayup*(1+dayfactor)print(向上向上5天向下天向下2天的力量天的力量:.2f.format(dayup).实例代码3.5:天天向上如果对实例代码3.4的结果感到意外,那自然会产生如下问题:每周工作5天,休息2天,休息日水平下降0.01,工作日要努力到什么程度一年后

    19、的水平才与每天努力1%所取得的效果一样呢?.实例代码3.5:天天向上n 如果每周连续努力5天,休息2天,为了达到每天努力1%所达到的的水平,则就需要在工作日将提高的程度达到约2%,即要努力1倍才仅是为了休息2天。n 这就是天天向上的力量!实例代码3.5e3.5DayDayUp365.py 12345678910111213#e3.5DayDayUp365.pydef dayUP(df):dayup=0.01for i in range(365):if i%7 in 6,0:dayup=dayup*(1-0.01 df)else:dayup=dayup*(1+df)return dayupday

    20、facotr=0.01while(dayUP(dayfactor)37.78):dayfactor+=0.001print(每天的努力参数是每天的努力参数是:.3f.format(dayfactor).字符串类型及其操作.字符串类型n 字符串是用双引号或者单引号括起来的一个或多个字符。n 字符串可以保存在变量中,也可以单独存在。n 可以用type()函数测试一个字符串的类型.字符串类型n Python语言转义符:n 输出带有引号的字符串,可以使用转义符n使用 输出带有转移符的字符串.字符串类型n 字符串是一个字符序列:字符串最左端位置标记为0,依次增加。字符串中的编号叫做“索引”.字符串类型n

    21、 单个索引辅助访问字符串中的特定位置 格式为.字符串类型n Python中字符串索引从0开始,一个长度为L的字符串最后一个字符的位置是L-1n Python同时允许使用负数从字符串右边末尾向左边进行反向索引,最右侧索引值是-1.字符串类型n 可以通过两个索引值确定一个位置范围,返回这个范围的子串 格式::n start和end都是整数型数值,这个子序列从索引start开始直到索引end结束,但不包括end位置。.字符串类型n 字符串之间可以通过+或*进行连接n加法操作(+)将两个字符串连接成为一个新的字符串n乘法操作(*)生成一个由其本身字符串重复连接而成的字符串.字符串类型n len()函数

    22、能否返回一个字符串的长度.字符串类型的转换n 大多数数据类型都可以通过str()函数转换为字符串.字符串使用实例输入一个月份数字,返回对应月份名称缩写 这个问题的IPO模式是:输入:输入一个表示月份的数字(1-12)处理:利用字符串基本操作实现该功能 输出:输入数字对应月份名称的缩写.字符串使用实例n 将所有月份名称缩写存储在字符串中n 在字符串中截取适当的子串来查找特定月份n 找出在哪里切割子串n 每个月份的缩写都由3个字母组成,如果pos表示一个月份的第一个字母,则monthspos:pos+3表 示这个月份的缩写,即:n monthAbbrev=monthspos:pos+3.字符串使用

    23、实例 月份 字符串中位置Jan 1 0Feb 2 3Mar 3 6Apr 4 9.字符串使用实例.可以通过 for 和 in 组成的循环来遍历字符串中每个字符n格式如下:for in:操作字符串的操作.用转义符可以在字符串中表达一些不可直接打印的信息例如:用n表示换行n 字符串HellonWorldnnGoodbye 32nn 用print()函数打印后的输出效果如下:HelloWorldGoodbye 32字符串的操作.内置的字符串处理函数 操作操作含义含义+连接*重复 索引:剪切len()长度.upper()字符串中字母大写.lower()字符串中字母小写.strip()去两边空格及去指定

    24、字符.split()按指定字符分割字符串为数组.join()连接两个字符串序列.find()搜索指定字符串.replace()字符串替换for in 字符串迭代.内置的字符串处理方法方法描述str.lower()返回字符串str的副本,全部字符小写str.upper()返回字符串str的副本,全部字符大写str.islower()当str所有字符都是小写时,返回True,否则Falsestr.isprintable()当str所有字符都是可打印的,返回True,否则Falsestr.isnumeric()当str所有字符都是字符时,返回True,否则Falsestr.isspace()当str

    25、所有字符都是空格,返回True,否则Falsestr.endswith(suffix,start,end)strstart:end 以suffix结尾返回True,否则返回Falsestr.startswith(prefix,start,end)strstart:end 以suffix开始返回True,否则返回Falsestr.split(sep=None,maxsplit=-1)返回一个列表,由str根据sep被分割的部分构成str.count(sub,start,end)返回strstart:end中sub子串出现的次数str.replace(old,new,count)返回字符串str的

    26、副本,所有old子串被替换为new,如果count给出,则前count次old出现被替换str.center(width,fillchar)字符串居中函数,详见函数定义str.strip(chars)返回字符串str的副本,在其左侧和右侧去掉chars中列出的字符str.zfill(width)返回字符串str的副本,长度为width,不足部分在左侧添0 str.format()返回字符串str的一种排版格式,3.6节将详细介绍str.join(iterable)返回一个新字符串,由组合数据类型(见第6章)iterable变量的每个元素组成,元素间用str分割.内置的字符串处理函数微实微实例例

    27、3.2:恺撒密码。:恺撒密码。凯撒密码是古罗马凯撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符,对应关系如下:原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C原文字符P,其密文字符C满足如下条件:C=(P+3)mod 26解密方法反之,满足:P=(C 3)mod 26.内置的字符串处理函数微实例3.2m3.2 CaesarCode.py 1234567plai

    28、ncode=input(请输入明文请输入明文:)for p in plaincode:if ord(a)=ord(p)请输入明文:python is an excellent language.sbwkrqlvdqhafhoohqwodqjxdjh.微实例运行结果如下:.字符串类型的格式化.format()方法的基本使用字符串format()方法的基本使用格式是:.format().format()方法的基本使用.format()方法的格式控制format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下::其中,格式控制标记用来控制参数显示时的格式。格式

    29、控制标记包括:,6个字段,这些字段都是可选的,可以组合使用,这里按照使用方式逐一介绍。.文本进度条.简单的开始利用print()函数实现简单的非刷新文本进度条基本思想是按照任务执行百分比将整个任务划分为100个单位,每执行N%输出一次进度条。每一行输出包含进度百分比,代表已完成的部分(*)和未完成的部分(.)的两种字符,以及一个跟随完成度前进的小箭头,风格如下:%10*-.简单的开始实例代码4.1e4.1TextProgressBar.py 12345678910#e4.1TextProgressBar.pyimport timescale=10print(-执行开始执行开始-)for i i

    30、n range(scale+1):a,b=*i,.*(scale-i)c=(i/scale)*100 print(“r:3.0f%-”.format(c,a,b)time.sleep(0.1)print(-执行结束执行结束-).简单的开始-执行开始-%0-.%10*-.%20*-.%30*-.%40*-.%50*-.%60*-.%70*-.%80*-.%90*-.%100*-执行结束-程序的输出效果如下图:.单行动态刷新实例代码4.2e4.2TextProgressBar.py 12345#e4.2TextProgressBar.pyimport timefor i in range(101)

    31、:print(r:2%.format(i),end=)time.sleep(0.05).单行动态刷新 0%1%2%3%4%5%6%7%8%9%10%11%12%13%14%15%16%17%18%19%20%21%22%23%24%25%26%27%28%29%30%31%32%33%34%35%36%37%38%39%40%41%42%43%44%45%46%47%48%49%50%51%52%53%54%55%56%57%58%59%60%61%62%63%64%65%66%67%68%69%70%71%72%73%74%75%76%77%78%79%80%81%82%83%84%85%8

    32、6%87%88%89%90%91%92%93%94%95%96%97%98%99%100%上述程序在IDLE中的执行效果如下。为什么输出没有单行刷新呢?这是因为IDLE本身屏蔽了单行刷新功能,如果希望获得刷新效果,请使用控制台命令行执行e4.2TextProgressBar.py程序。以Windows系统为例,启动命令行工具(system32cmd.exe),选择到e4.2TextProgressBar.py文件所在目录执行.带刷新的文本进度条实例代码4.3e4.3TextProgressBar.py 1234567891011 1213#e4.3TextProgressBar.pyimpor

    33、t timescale=50print(执行开始执行开始.center(scale/2,-)t=time.clock()for i in range(scale+1):a=*i b=.*(scale-i)c=(i/scale)*100 t-=time.clock()print(r:3.0f%-:.2fs.format(c,a,b,-t),end=)time.sleep(0.05)print(n+执行结束执行结束.center(scale/2,-).带刷新的文本进度条采用命令行的执行上述文件,效果如下::python e4.3TextProgressBar.py-执行开始-100%*-65.71

    34、s-执行结束-.五花八门的进度条设计函数设计名称趋势设计函数LinerConstantf(x)=xEarly PauseSpeeds upf(x)=x+(1-sin(x*2+/2)/-8Late PauseSlows downf(x)=x+(1-sin(x*2+/2)/8Slow WavyConstantf(x)=x+sin(x*5)/20Fast WavyConstantf(x)=x+sin(x*20)/80PowerSpeeds upf(x)=(x+(1-x)*0.03)2Inverse PowerSlows downf(x)=1+(1-x)1.5*-1Fast PowerSpeeds upf(x)=(x+(1-x)/2)8Inv.Fast PowerSlows downf(x)=1+(1-x)3*-1.

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Python电子教案基本数据类型课件.ppt
    链接地址:https://www.163wenku.com/p-4523696.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库