Python第二次课20150319

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

12020/9/2012008.05程序设计基础(Python语言)主讲:朱立华22020/9/2022008.05第二讲:3章,7、8部分第3章数字类型第7章分支结构第8章循环结构3本次课主要内容主要内容4种数字类型的概念和使用一各类型数字在计算机中的表示方法二Python数学库和随机库的使用三循环结构简介五分支结构简介四42020/9/2042008.05第3章:数字类型数字类型当用户向计算机输入123,计算机需要明确的知道这个输入是可以进行数学计算的数字123,还是类似人名的字符串“123”,这两者在计算机内部采用不一样的存储方式。这个需求产生了“数据类型”的概念数据类型表示信息在计算机中的不同存储方式,进而决定了处理过程中信息的类型和功能。Python语言中,123表示一个数字,“123”表示一个字符串。其中,表示数字的数据类型也叫数字类型,本节主要介绍数字类型数字类型Python的4种数字类型整数:长度不超过计算机字长的“普通”整数。对于64位字长的计算机,整数的取值范围是[-263,263-1]例:1010,99,-217,0x9a,-0x89整数可以表示为十进制,也可表示为十六进制等其他进制方式。0x开头的数字表示十六进制数字长整数:超过整数类型表示范围的整数,数字后面加”L”或”l”,为免混淆,建议使用“L”例:1010L,-217L,0x9a,0x1234567890abcdeedL数字类型Python的4种数字类型浮点实数:带有小数的数值,十进制或科学计数法表示例:0.0,-77.,-2.17,96e4,4.3e-3,9.6E5科学计数法使用字母“e”或者“E”作为幂的符号,以10为基数。科学计数法含义如下:aeb=a*10b4.3e-3表示0.0043复数:a+bj,a是实数部分,b是虚数部分,a、b皆是浮点类型,叙述部分通过后缀“J”或“j”来表示例:12.3+4j,-5.6+7j,1.23e-4+5.6e+89j数字类型对整数和浮点数处理方法中应注意0.0与0值相同,但数据结构不同整数与整数运算后,结果为整数;长整数与整数运算后,为长整数;浮点数与其他类型运算后,为浮点数,例如10/3=310L/3=3L10.0/3=3.333浮点类型不能采用十六进制方式表示type(val)函数可以返回用户提供的输入val的类型例如type(10)type‘int’数字类型type(10L)type‘long’type(10.0)type‘float’type(10+10j)type‘complex’实际上,type()函数可以返回任何Python定义的数据类型,而不局限于数字类型数字类型的转换数字类型之间的转换规则Python提供了一些数字转换函数:int()、long()、float()、complex()整数、长整数和浮点数之间可自由转换,浮点数转换为其他两种类型时,小数部分会被舍弃long(10.4)10Lint(10.999)10数字类型的转换函数complex()可将其他类型转为复数,但复数不可转为其他类型,例如complex(10.999)(10.999+0j)int(10+10j)#将会报错Traceback(mostrecentcalllast):Filepyshell#0,line1,inmoduleint(10+10j)TypeError:can'tconvertcomplextoint•数字类型转换在进行数学运算的时候十分重要,当需要包含小数的除法结果时,要用浮点类型而不是整数类型数字类型的操作Python中数字类型的操作操作操作含义x+yx与y之和x-yx与y之差x*yx与y之积x/yx与y之商x//y不大于x与y之商的最大整数x%yx对y的模运算abs(x)x的绝对值divmod(x,y)(x//y,x%y)pow(x,y)x的y次幂x**yx的y次幂数字类型的操作数字类型操作举例8.0/32.66666668.0//32.0divmod(8.0,3)(2.0,2.0)abs(-8.63)8.63pow(8,2)64示例程序1:π的计算蒙塔卡罗(MonteCarlo)方法,又称随机抽样或统计试验方法。当所要求解的问题是某种事件出现的概率,或某随机变量的期望值时,可以通过某种“试验”的方法求解。应用蒙瑞特卡罗方法求解π的步骤:随即向单位正方形和圆结构抛洒大量点,判断每个点在圆内或者圆外,圆内点数除以圆外点数就是π值。随机点数量越大,得到的π值越精确。问题的IPO表示如下:输入:抛点数处理:计算每个点到圆心的距离,统计在圆内点的数量输出::π值示例程序1:π的计算示例程序1:π的计算采用蒙塔卡罗方法求解π值的Python程序如下:#m_pi.pyfromrandomimportrandomfrommathimportsqrtfromtimeimportclockDARTS=1000hits=0.0clock()forIinrange(1,DARTS):x,y=random(),random()dist=sqrt(x**2+y**2)ifdist=1.0:hits=hits+1pi=4*(hits/DARTS)print“piis%s”%(pi)print“runningtimeis%-5.5ss”%clock()示例程序1:π的计算该程序运行结果如下:m_pi.pypiis3.208runningtimeis0.006s由于DARTS点数量较少,π的值不是很精确。通过增加DARTS数量继续试验,在230数量级上,π的值就相对准确了。进一步增加DARTS数量,能够进一步增加精度数学库及其使用math库中常用的数学函数函数数学表示含义piππ的近似值,15位小数eee的近似值,15位小数ceil(x)⌈x⌉向上取整floor(x)⌊x⌋向下取整pow(x,y)xy指数运算,x的y次方log(x)lgx对数,以e为基log10(x)log10x对数,以10为基sqrt(x)平方根x数学库及其使用函数数学表示含义exp(x)exx次幂,以e为基degrees(x)弧度转换成角度radians(x)角度转换成弧度sin(x)sinx正弦函数cos(x)cosx余弦函数tan(x)tanx正切函数asin(x)arcsinx反正弦函数,x∊[-1.0,1.0]acos(x)arccosx反余弦函数,x∊[-1.0,1.0]atan(x)arctanx反正切函数,x∊[-1.0,1.0]数学库及其使用上述函数封装在math库中,对库函数引用方式:import库名库名.函数名例importmathmath.ceil(1.2)2.0from库名import函数名函数名例frommathimportceil,floorceil(1.2)2.0若希望引用更多库中函数并直接使用:frommathimport*随机数库及其使用Random库中常用的函数函数含义seed(x)给随机数一个种子值,默认为系统时钟random()生成一个[0,1.0)之间的随机小数uniform(a,b)生成一个a到b之间的随机小数randint(a,b)生成一个a到b之间的随机整数randrange(a,b,c)随机生成一个从a开始到b以c递增的数choice(list)从序列(例如:列表)中随机返回一个元素shuffle(list)将一个列表中元素随机打乱sample(list,k)从指定序列中随机获取k个元素随机数库及其使用引用random库函数举例fromrandomimport*random0.7580946277254204uniform(1,10)2.316461542527591randint(1,10)5randrange(0,10,4)#从0开始到10以4递增的元素中随机返回4ra=range(10)[0,1,2,3,4,5,6,7,8,9]随机数库及其使用choice(ra)7shuffle(ra)#随机改变ra的顺序ra[5,0,6,7,4,9,8,1,3,2]sample(ra,4)[8,7,0,6]seed(10)#以10为种子uniform(1,10)6.142623352209221uniform(1,10)4.860001492076032随机数库及其使用seed(10)#再次设定种子为10uniform(1,10)6.142623352209221uniform(1,10)4.860001492076032设定相同的种子后,每次调用随机函数生成的随机数都是相同的。随机种子的作用:相同的种子产生相同的伪随机数序列,便于通过相同的随机数进行验证252020/9/20252008.05第7章:分支结构(一)PM2.5指数分级例子#pm25.py#空气质量提醒.defmain():PM=input(Whatistoday’sPM2.5?)#打印相应提醒ifPM75:print(Unhealthy.Becareful!)iffahrenheit35:print(Good.Gorunning!)main()(一)PM2.5指数分级例子输入:接受外部输入PM2.5值处理:空气质量分级算法输出:打印空气质量提醒伪代码如下:ifPM2.5值75打印空气污染警告ifPM2.5值35打印空气质量优,建议户外运动(一)PM2.5指数分级例子——流程图(二)if语句格式语句格式如下ifcondition:body其中body是一个或多个语句序列先判断condition条件:True,则执行body,再转向下一条语句;False,则直接跳过body,转向下一条语句;(三)简单条件构造简单条件基本形式exprrelopexprrelop是关系操作符,=,==,=,,!=使用“=”表示赋值语句,使用“==”表示等于condition是布尔表达式,为bool类型,值true或false以True和False表示除数字外,字符或字符串也可以用于条件比较(三)简单条件构造(关系运算符的使用)34True3*43+4Falsehello==helloTruehellohelloFalseHellohelloTrue(四)复杂条件的构造分支和循环结构中都有可能需要使用较为复杂的条件进行控制仅使用关系运算符无法表达一些完整信息例如:闰年的判断字母字符的判断需要借助于布尔操作符构造出复杂条件布尔操作符布尔操作符:and,or和not布尔运算符and和or用于组合两个布尔表达式,并产生一个布尔结果exprandexprexprorexprnot运算符计算一个布尔表达式的反notexpr布尔操作结果PQPandQPorQnotPTrueTrueTrueTrueFalseTrueFalseFalseTrueFalseFalseTrueFalseTrueTrueFalseFalseFalseFalseTrue布尔操作符aornotbandcPython中布尔操作符的优先级,从高分到低分依次是not、and最低是or。所以上面的达式等于如下这个带括号的版本:(aor((notb)andc))例如:闰年的判断Y%400==0ory%4==0andy%100!=0例如:字母字符的判断C=‘A’andC=‘Z’orC=‘a’andC=‘z’362020/9/20362008.05第8章:循环结构for循环Python可

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功