Python深度学习及智能车竞赛实践 课件 2-Python基本语法元素和数据类_第1页
Python深度学习及智能车竞赛实践 课件 2-Python基本语法元素和数据类_第2页
Python深度学习及智能车竞赛实践 课件 2-Python基本语法元素和数据类_第3页
Python深度学习及智能车竞赛实践 课件 2-Python基本语法元素和数据类_第4页
Python深度学习及智能车竞赛实践 课件 2-Python基本语法元素和数据类_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章Python基本语法元素和数据类型Python深度学习及智能车竞赛实践010203程序基本设计方法python基本语法结构python基本数据类型目录第2页010203程序基本设计方法python基本语法结构python基本数据类型目录第3页第4页计算机编程求解问题的过程分析问题,抽象内容之间的交互关系;设计利用计算机求解问题的确定性方法(IPO);编写、调试、测试程序;

这是从抽象问题到解决问题的完整过程。01—程序基本设计方法第5页程序的基本设计方法I:Input输入数据,程序的输入P:Process处理数据,程序的主要逻辑O:Output输出数据,程序的输出

—IPO程序设计方法01—程序基本设计方法第6页理解IPOI-程序的输入——文件输入、网络输入、控制台输入、交互界面输入、内部参数输入;

输入是一个程序的开始

O-程序的输出

——控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等;

输出是程序展示运算结果的方式

P-处理方法

——

处理是程序对输入数据进行计算产生输出结果的过程,处理方法统称为算法,它是程序最重要的部分;算法是一个程序的灵魂01—程序基本设计方法第7页激活函数(ActivationFunction)是一种用于人工神经网络中的函数,旨在实现神经网络模型的非线性输出。

实例2.1:RELU激活函数IPO程序设计方法01—程序基本设计方法第8页问题分析:划分边界

输入:数值x;

处理:算法

f(x);

输出:x或0

实例2.1:RELU激活函数设计程序IPO程序设计方法01—程序基本设计方法第9页IPO程序设计方法在全国大学生智能汽车竞赛智慧交通创意赛中,可以通过深度学习模型得到智能车转角预测值,这个值的大小是在[-1,1]之间,大于0表示右转弯,小于0表示左转弯。智能车转向是可以通过左右轮差速实现转向如需要右转弯,右轮减速,左轮速度不变;如需要左转弯,左轮减速,右轮速度不变。实例2.2:智能车差速转向01—程序基本设计方法第10页问题分析:划分边界

输入:车轮直行速度speed,深度学习模型得到的归一化转向角度angle,调节系数

kx;

处理:算法f(x);

输出:左、右轮速度。IPO程序设计方法实例2.2:智能车差速转向01—程序基本设计方法第11页问题分析:划分边界

输入:speed、angle、kx;

处理:算法f(x);

输出:左、右轮速度。问题:如何利用Python程序实现智能车差速转向控制?IPO程序设计方法实例2.2:智能车差速转向01—程序基本设计方法第12页#实例2.2Steer.py智能车差速转向speed=20#设定车轮直线行驶速度kx=0.85

#调节参数left_wheel=speedright_wheel=speedangle=eval(input("请输入归一化后的角度:"))if0<angle<=1:#右转向right_wheel=(1-angle*kx)*speed

print("right_speed:",right_wheel,"left_speed:",left_wheel)elif

-1<=angle<=0:#左转向left_wheel=(1-abs(angle*kx))*speed

print("right_speed:",right_wheel,"left_speed:",left_wheel)else:

print("输入转角信息不是归一化数据")IPO程序设计方法01—程序基本设计方法第13页程序运行和测试使用IDLE打开文件,按F5运行(推荐)输入数值,观察输出或者:在系统命令行运行如下命令(需要进入程序所在目录):D:\pycodes\2\python2.2steer.py请输入归一化后的角度:01—程序基本设计方法010203程序基本设计方法python基本语法结构python基本数据类型目录第14页•注释:comment•缩进:indent•标识符:identifier•常量:constant•变量:variable•表达式:expression•输入:input•输出:output•分支:Selection02—Python基本语法元素注释:用于提高代码可读性的辅助性文字,不被执行#实例2.2Steer.py智能车差速转向speed=20#设定车轮直线行驶速度kx=0.85

#调节参数left_wheel=speedright_wheel=speedangle=eval(input("请输入归一化后的角度:"))if0<angle<=1:#右转向right_wheel=(1-angle*kx)*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)elif-1<=angle<=0:#左转向left_wheel=(1-abs(angle*kx))*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)else:print("输入转角信息不是归一化数据")-单行注释:以#开头,其后内容为注释02—Python基本语法元素注释:用于提高代码可读性的辅助性文字,不被执行'''实例2.2Steer.py智能车差速转向本实例用于全国大学生智能汽车竞赛'''left_wheel=speedright_wheel=speedangle=eval(input("请输入归一化后的角度:"))if0<angle<=1:

passelif-1<=angle<=0:passelse:

pass-

多行注释:以'''开头和结尾

02—Python基本语法元素#实例2.2Steer.py智能车差速转向speed=20#设定车轮直线行驶速度kx=0.85#调节参数left_wheel=speedright_wheel=speedangle=eval(input("请输入归一化后的角度:"))if0<angle<=1:

right_wheel=(1-angle*kx)*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)elif-1<=angle<=0:

left_wheel=(1-abs(angle*kx))*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)else:

print("输入转角信息不是归一化数据")缩进:一行代码开始前的空白区域,表达程序的格式框架02—Python基本语法元素#实例2.2Steer.py智能车差速转向speed=20#设定车轮直线行驶速度kx=0.85#调节参数left_wheel=speedright_wheel=speedangle=eval(input("请输入归一化后的角度:"))if-1<=angle<=1:if0<angle<=1:

right_wheel=(1-angle*kx)*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)else:

left_wheel=(1-abs(angle*kx))*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)else:

print("输入转角信息不是归一化数据")多层缩进:表示程序语句多层从属关系02—Python基本语法元素缩进表达程序的格式框架-严格明确:缩进是语法的一部分,缩进不正确程序运行错误-

所属关系:表达代码间包含和层次关系的唯一手段-

长度一致:程序内一致即可,一般用4个空格或1个TAB缩进:02—Python基本语法元素变量是保存和表示数据值的一种语法元素,在程序中十分常见。变量的值是可以改变的,能够通过赋值(使用“=”

表达)方式被修改,例如:speed=20kx=0.85left_wheel=speedright_wheel=speed变量:02—Python基本语法元素用来保存和表示数据的占位符号-变量采用标识符(名字)来表示,关联标识符的过程叫命名

“speed“是变量名字-

可以使用等号(=)给变量赋值或修改值,=被称为赋值符号

angle

=0.5#给变量angle赋值0.5变量:02—Python基本语法元素关联标识符的过程-命名规则:大小写字母、数字、下划线和中文等字符及组合

如:right_wheel,Python_Great,这是门Python好课-

注意事项:大小写敏感、首字符不能是数字、不与保留字相同

Right_wheel和right_wheel是不同变量,123Python是不合法的命名:02—Python基本语法元素#实例2.2Steer.py智能车差速转向speed=20#设定车轮直线行驶速度kx=0.85

#调节参数left_wheel=speedright_wheel=speedangle=eval(input("请输入归一化后的角度:"))if0<angle<=1:#右转向

right_wheel=(1-angle*kx)*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)elif-1<=angle<=0:#左转向

left_wheel=(1-abs(angle*kx))*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)else:print("输入转角信息不是归一化数据")命名:程序中用于保存和表示数据的占位符号02—Python基本语法元素保留字:被编程语言内部定义并保留使用的标识符-Python语言有35个保留字(也叫关键字)

if,elif,else,in……-

保留字是编程语言的基本单词,大小写敏感

if

是保留字,If

是变量02—Python基本语法元素andelifimportraiseglobalaselseinreturnnonlocalassertexceptistryTruebreakfinallylambdawhileFalseclassfornotwithNonecontinuefromoryieldasyncdefifpassdelawait(27/35)保留字:被编程语言内部定义并保留使用的标识符02—Python基本语法元素

Python语言中,=表示“赋值”,即将等号右侧的值计算后将结果值赋给左侧变量,包含“=”

的语句称为“赋值语句”;同步赋值语句:同时给多个变量赋值

<变量1>,…,<变量N>=<表达式1>,…,<表达式N>

如:a,b=3,5赋值语句语句元素:02—Python基本语法元素例:将变量x和y交换采用单个赋值,需要3行语句:即通过一个临时变量t缓存x的原始值,然后将y值赋给x,再将x的原始值通过t赋值给y。采用同步赋值语句,仅需要一行代码:赋值语句语句元素:02—Python基本语法元素分支语句是控制程序运行的一类重要语句,它的作用是根据判断条件选择程序执行路径;分支语句包括:单分支、二分支和多分支;

单分支语句是最简单的分支语句,使用方式如下:if<条件>:<语句块>>>>

x=18>>>ifx>0:

output=x分支语句语句元素:02—Python基本语法元素二分支语句:分支语句语句元素:02—Python基本语法元素多分支语句#实例2.2Steer.py智能车差速转向speed=20#设定车轮直线行驶速度kx=0.85

#调节参数left_wheel=speedright_wheel=speedangle=eval(input("请输入归一化后的角度:"))if0<angle<=1:#右转向right_wheel=(1-angle*kx)*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)elif-1<=angle<=0:#左转向left_wheel=(1-abs(angle*kx))*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)else:print("输入转角信息不是归一化数据")02—Python基本语法元素作用:获得用户输入input()函数可以包含一些提示性文字

<变量>=input(<提示性文字>)input()函数>>>ang=input("请输入归一化后的角度:")请输入归一化后的角度:0.1>>>

ang‘0.1’>>>float(

ang)0.1#如果没有输入任何信息,直接按回车键,则把空字符串赋给ang基本输入输出函数:02—Python基本语法元素input()函数#实例2.2Steer.py智能车差速转向speed=20#设定车轮直线行驶速度kx=0.85

#调节参数left_wheel=speedright_wheel=speedangle=eval(input("请输入归一化后的角度:"))if0<angle<=1:#右转向right_wheel=(1-angle*kx)*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)elif-1<=angle<=0:#左转向left_wheel=(1-abs(angle*kx))*speedprint("right_speed:",right_wheel,"left_speed:",left_wheel)else:print("输入转角信息不是归一化数据")02—Python基本语法元素-eval()函数的基本使用格式:

eval(<字符串或字符串变量>)

去掉参数最外侧引号>>>

eval('"1+2"')"1+2">>>

eval('print("Hello")')Hello>>>

eval("1")1>>>

eval("1+2")3eval()评估函数02—Python基本语法元素eval()函数经常和input()函数一起使用,用来获取用户输入的数字,使用方式如下:<变量>=eval(input(<提示性文字>))a=eval(input("请输出考试分数:"))ifa>=60:

print("及格")else:

print("不及格")input()函数也可以和int()、float()函数结合使用eval()评估函数02—Python基本语法元素print()函数用于输出运算结果print()函数print(*objects,sep='',end='\n',file=sys.stdout,flush=False)objects:可选参数,表示要输出的对象,可以是各种数据类型的变量、常量;sep:可选参数,表示分隔符,默认为

‘’(空格);end:可选参数,表示输出结束后要添加的字符,默认为

‘\n’(换行符);file:可选参数,表示要写入的文件对象,默认为sys.stdout(标准输出);flush:可选参数,表示是否强制刷新输出,默认为False。*objects前面的*表示可以有可变数量对象个数基本输入输出函数:02—Python基本语法元素>>>

print("强国有我")强国有我>>>

value

=

123.456>>>print(value,value,value)123.456

123.456

123.456print()函数基本输入输出函数:02—Python基本语法元素end参数print(<待输出内容>,end="<增加的输出结尾>")>>>a=54

>>>print(a,

end=".")54.>>>print(a,

end="%")54%print()函数基本输入输出函数:02—Python基本语法元素#实例2.2Steer.py智能车差速转向speed=20#设定车轮直线行驶速度kx=0.85

#调节参数left_wheel=speedright_wheel=speedangle=eval(input("请输入归一化后的角度:"))if0<angle<=1:#右转向right_wheel=(1-angle*kx)*speed

print("right_speed:",right_wheel,"left_speed:",left_wheel)elif-1<=angle<=0:#左转向left_wheel=(1-abs(angle*kx))*speed

print("right_speed:",right_wheel,"left_speed:",left_wheel)else:

print("输入转角信息不是归一化数据")02—Python基本语法元素Python程序会经常使用当前程序之外已有的功能代码,这个过程叫“引用”。Python语言使用import保留字引用当前程序以外的功能库,使用方式如下:

import<功能库名称>功能库引用:02—Python基本语法元素第一种:import<库名>使用库中函数格式:<库名>.<函数名>(<函数参数>)第二种:from<库名>import<函数名,函数名,…>from<库名>import*#*是通配符,表示所有函数。使用库中函数格式:<函数名>(<函数参数>)02—Python基本语法元素功能库引用:010203程序基本设计方法python基本语法结构python基本数据类型目录第42页3.1数字类型3.2math库3.5time库3.3字符串类型03python基本数据类型目录第43页3.4字符串类型格式化控制3.1数字类型3.2math库3.5time库3.3字符串类型03python基本数据类型目录第44页3.4字符串类型格式化控制Python语言支持多种数据类型最简单的包括数字类型、字符串类型;复杂的包括元组类型、集合类型、列表类型、字典类型等(第5章内容)。03—Python基本数据类型Python语言包括三种数字类型整数类型浮点数类型复数类型1010是一个整数类型,10.10是一个浮点数类型,10+10j是一个复数类型。3.1数字类型整数类型与数学中整数的概念一致-可正可负,没有取值范围限制-

pow(x,y)函数:计算xy,想算多大算多大>>>

pow(2,100)1267650600228229401496703205376>>>

pow(2,pow(2,15))1415461031044954789001553……3.1数字类型整数类型有4种进制表示:十进制、二进制、八进制和十六进制。默认情况,整数采用十进制,其他进制需要增加引导符号。不同进制的整数之间可以直接运算3.1数字类型整数类型浮点数两种表示方法:小数点一般形式;科学计数法表示。例如:浮点数123.456,两种表示方式如下:一般形式:123.456科学计数法:1.23456e23.1数字类型浮点数类型与数学中实数的概念一致带有小数点及小数的数字Python语言中的浮点数类型必须带有小数部分,小数部分可以是0。例如:1010是整数,1010.0是浮点数。3.1数字类型浮点数类型-

浮点数取值范围和小数精度都存在限制,

取值范围数量级约-10307至10308,精度数量级10-16,满足大部分常规计算要求。浮点数间运算存在不确定尾数,不是bug>>>0.1+0.30.4>>>0.1+0.20.30000000000000004不确定尾数3.1数字类型浮点数类型浮点数间运算存在不确定尾数,不是bug0.1用二进制表示是一个无限的小数,计算机只能截取其中的53位,无限接近0.1,但并不真正等于0.10.00011001100110011001100110011001100110011001100110011010(二进制表示)Python用53位二进制表示小数部分0.1000000000000000055511151231257827021181583404541015625(十进制表示)0.1+0.2二进制表示小数,可以无限接近,但不完全相同结果无限接近0.3,但可能存在尾数3.1数字类型浮点数类型-round(x,d):对x四舍五入,d是小数截取位数-浮点数间运算与比较用round()函数辅助-

不确定尾数一般发生在10-16左右,round()十分有效>>>

round(0.1+0.2,1)==0.3True3.1数字类型浮点数类型浮点数间运算存在不确定尾数>>>0.1+0.2==0.3False科学计数法使用字母e或者E作为幂的符号,以10为基数,含义如下:

<a>e<b>=a*10b

1.02e3值为1020.0;1.02E-3值为0.00102。Python浮点数类型的数值范围和小数精度受不同计算机系统的限制。除高精度科学计算外的绝大部分运算来说,浮点数类型的数值范围和小数精度是满足要求的。3.1数字类型浮点数类型与数学中的复数概念一致,z=a+bj,

a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识。

示例:12.3+4j,-5.6+7j,2.0+1j

当b为1时,1不能省略,即1j表示复数,而j则表示Python程序中的一个变量。3.1数字类型复数类型z=1.14e-4+3.6e+76j(实部和虚部?)对于复数z,可以用z.real获得实数部分,z.imag获得虚数部分。>>>z=1.14e-4+3.6e+76j>>>z.real0.000114>>>

z.imag3.6e+763.1数字类型复数类型操作符描述x+yx与y之和x-yx与y之差x*yx与y之积x/yx与y之商,(10/3=3.3333333333333335)x//yx与y之整数商,即:不大于x与y之商的最大整数10//3=3x%yx与y之商的余数,也称为模运算10%3=1-xx的负值,即:x*(-1)+xx本身x**yx的y次幂,即:xy9个基本的数值运算操作符3.1数字类型操作符描述x+=yx=x+yx-=yx与y之差,x=x-yx*=yx与y之积,x=x*yx/=yx与y之商,x=x/yx//=yx与y之整数商,x=x//yx%=yx与y之商的余数,也称为模运算,x=x%yx**=yx的y次幂,即:xy增强赋值操作符简化了代码。3.1数字类型二元增强运算操作符三种类型存在一种逐渐“扩展”的关系:

整数->浮点数->复数(整数是浮点数特例,浮点数是复数特例)不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型。

123+4.0=127.0(整数+浮点数=浮点数)3.1数字类型三种类型的混合运算数字类型之间相互运算所生成的结果是“更宽”的类型,基本规则是:整数之间运算,如果数学意义上的结果是小数,结果是浮点数;整数之间运算,如果数学意义上的结果是整数,结果是整数;整数和浮点数混合运算,输出结果是浮点数;整数或浮点数与复数运算,输出结果是复数。3.1数字类型三种类型的混合运算函数描述abs(x)x的绝对值

abs(-8.01)=8.01divmod(x,y)(x//y,x%y),输出为二元组形式(也称为元组类型),divmod(10,3)=3,1pow(x,y[,z])幂余:(x**y)%z,[..]表示该参数可以省略,即:pow(x,y),它与x**y相同,pow(2,9,10)=2round(x[,ndigits])对x四舍五入,保留ndigits位小数。round(x)返回四舍五入的整数值round(-9.4531)=-9,round(-9.4531,2)=-9.45max(x1,x2,…,xn)x1,x2,…,xn的最大值,n没有限定min(x1,x2,…,xn)x1,x2,…,xn的最小值,n没有限定3.1数字类型Python内置数值运算函数函数描述int(x)将x转换为整数,舍弃小数部分,x可以是浮点数或字符串,int(100.65)=100,int("100")=100float(x)将x转换为浮点数,x可以是整数或字符串,float(10)=10.0,float("10")=10.0,float("10.01")=10.01complex(re[,im])生成一个复数,实部为re,虚部为im,re可以是整数、浮点数,im可以是整数或浮点数但不能为字符串,complex(4)=4+0J数值运算操作符可以隐式地转换输出结果的数字类型;例如,两个整数采用运算符“/”的除法将可能输出浮点数结果。通过内置的数字类型转换函数可以显式地在数字类型之间进行转换。

3.1数字类型数字类型的转换函数type(x):

返回x的类型,适用于所有类型的判断。>>>

type(100)<class'int'>>>>

type(50.0)<class'float'>>>>

type(80+0j)<class'complex'>>>>

z=20-1j>>>

type(z)<class'complex'>3.1数字类型数字类型的判断3.1数字类型3.2math库3.5time库3.3字符串类型03python基本数据类型目录第64页3.4字符串类型格式化控制math库是Python提供的内置数学类函数库;math库不支持复数类型;math库一共提供了4个数学常数和44个函数;44个函数共分为4类,包括:16个数值表示函数、8个幂对数函数、16个三角对数函数和4个高等特殊函数。3.2math库第一种方法:

importmath

对math库中函数采用math.<b>()形式使用第二种方法:frommathimport<函数名>对math库中函数可以直接采用<函数名>()形式使用>>>importmath>>>math.ceil(10.2)11>>>frommathimportceil>>>ceil(10.2)11>>>frommathimport*>>>ceil(10.2)113.2math库math库引用常数数学表示描述math.pi

π圆周率,值为3.141592653589793math.ee自然对数,值为2.718281828459045math.infꝏ正无穷大,负无穷大为-math.infmath.nan

非浮点数标记,NaN(NotaNumber)3.2math库math库包含4个常用常数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)

返回a与b的最大公约数math.frexp(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;否则,返回Falsemath.isinf(x)

当x为正数或负数无穷大,返回True;否则,返回Falsemath.isnan(x)

当x是NaN,返回True;否则,返回False3.2math库函数数学表示描述math.pow(x,y)xy返回x的y次幂math.exp(x)ex返回e的x次幂,e是自然对数

math.expm1(x)ex-1返回e的x次幂减1math.sqrt(x)返回x的平方根math.log(x[,base])logbasex返回x的对数值,只输入x时,返回自然对数,即lnxmath.log1p(x)ln(1+x)返回1+x的自然对数值math.log2(x)logx返回x的2对数math.log10(x)log10x返回x的10对数值3.2math库math库包括8个幂对数函数函数数学表示描述math.degrees(x)

角度x的弧度值转角度值math.radians(x)

角度x的角度值转弧度值math.hypot(x,y)返回(x,y)坐标到原点(0,0)的距离math.sin(x)sinx返回x的正弦函数值,x是弧度值math.cos(x)cosx返回x的余弦函数值,x是弧度值math.tan(x)tanx返回x的正切函数值,x是弧度值math.asin(x)arcsinx返回x的反正弦函数值,x是弧度值math.acos(x)arccosx返回x的反余弦函数值,x是弧度值

math.atan(x)arctanx返回x的反正切函数值,x是弧度值math.atan2(y,x)arctany/x返回y/x的反正切函数值,x是弧度值math.sinh(x)sinhx返回x的双曲正弦函数值math.cosh(x)coshx返回x的双曲余弦函数值math.tanh(x)tanhx返回x的双曲正切函数值math.asinh(x)arcsinhx返回x的反双曲正弦函数值math.acosh(x)arccoshx返回x的反双曲余弦函数值math.atanh(x)arctanhx返回x的反双曲正切函数值3.2math库math库包括16个三角运算函数函数数学表示描述math.erf(x)高斯误差函数,应用于概率论、统计学等领域math.erfc(x)余补高斯误差函数,math.erfc(x)=1-math.erf(x)math.gamma(x)伽玛(Gamma)函数,也叫欧拉第二积分函数math.lgamma(x)ln(gamma(x))伽玛函数的自然对数3.2math库math库包括4个高等特殊函数实例2.3求排列数和组合数排列数是指从n个不同元素中取出k个元素进行排列的排列数,通常表示为A(n,k)或P(n,k)。排列数的计算公式为A(n,k)=n!/(n-k)!组合数是指从n个不同元素中取出k个元素进行组合的组合数,通常表示为C(n,k)。组合数的计算公式为C(n,k)=n!/(k!*(n-k)!)3.2math库运行结果:请输入总元素n和需要提取的元素k,数字用逗号分隔:6,3从6个不同元素中取出3个元素进行组合的组合数为20从6个不同元素中取出3个元素进行排列的排列数为1203.2math库实例2.3求排列数和组合数3.1数字类型3.2math库3.5time库3.3字符串类型03python基本数据类型目录第74页3.4字符串类型格式化控制字符串类型的表示由0个到多个字符组成的有序字符序列,用一对双引号(")或单引号(')

或者一对三单引号或三双引号括起来:一对三单引号(''')可以表示单行或多行字符串>>>

print('智能汽车竞赛')智能汽车竞赛>>>print("智能汽车竞赛")智能汽车竞赛>>>print('''智能汽车竞赛''')智能汽车竞赛>>>print("智能"汽车"竞赛")SyntaxError:invalidsyntax>>>print('''智能"汽车"竞赛''')智能"汽车"竞赛>>>print('智能"汽车"竞赛')智能"汽车"竞赛>>>print('''大学生智能"汽车"竞赛''')大学生智能"汽车"竞赛>>>print('大学生智能"汽车"竞赛')SyntaxError:EOLwhilescanningstringliteral3.3字符串类型input将用户输入的内容当着字符串类型;print函数可以直接打印字符串。>>>university=input("请输入赛车队校名:")请输入赛车道校名:BeihangUniversity>>>print(university)"BeihangUniversity"3.3字符串类型字符串输入和输出常用方式正向递增序号:如果字符串长度为L,最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1;反向递减序号:如果字符串长度为L,最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L。;Python智能汽车竞赛01234567891011-12-11-10-9-8-7-6-5-4-3-2-1>>>name=“Python智能汽车竞赛">>>

name[0]'P'>>>

name[0],name[7],name[-1](‘P’,‘能’,'赛')3.3字符串类型字符串的两种序号体系<string>[N:M]格式:表示字符串string从N到M(不包含M)的子字符串,其中N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号,如N缺失表示至开头,M缺失表示至末尾。>>>name="Python智能汽车竞赛">>>print(name[2:-4])thon智能>>>print(name[:6])Python>>>print(name[6:])智能汽车竞赛>>>print(name[:])Python智能汽车竞赛>>>print(name[::2])Pto语汽竞>>>print(name[::-1])赛竞车汽能智nohtyP<string>[N:M:K]

格式:按步长切片,K为步长,如果K<0,则从后往前截取。3.3字符串类型字符串的切片(区间访问方式)

Python语言转义符"

\",与后面相邻的字符共同组成新的含义。\n:

换行\\:反斜杠\'

:单引号\":双引号\t:制表符Python语言'程序'设计>>>print("Python\n语言\t'程序'\t设计")>>>print("Python\n语言\t\'程序\'\t设计")>>>print(“\”智能车\"")"智能车"3.3字符串类型格式化控制字符操作符描述x+y连接两个字符串x与yx*n或者n*x复制n次字符串xins如果x是s的子串,返回True,否则返回False>>>name="Python语言"+"程序设计">>>name'Python语言程序设计'>>>"智能车竞赛"*3''智能车竞赛智能车竞赛智能车竞赛''>>>“竞赛"innameTrue>>>“大学生"innameFalse3.3字符串类型字符串的操作符一些以函数形式提供的字符串处理功能函数及使用描述len(x)长度,返回字符串x的长度

len("一二三456")结果为6str(x)任意类型x所对应的字符串形式

str(1.25)结果为"1.25"

str([4,2])结果为"[4,2]"

hex(x)

oct(x)整数x的十六进制或八进制小写形式字符串

hex(425)结果为"0x1a9"oct(425)结果为"0o651"3.3字符串类型字符串处理函数函数及使用描述chr(u)

u为Unicode编码,返回其对应的字符ord(x)

x为字符,返回其对应的Unicode编码chr(u)ord(x)Unicode单字符Unicode和字符是一一对应的3.3字符串类型一些以函数形式提供的字符串处理功能字符串处理函数-统一字符编码,即覆盖几乎所有字符的编码方式;-

从0到1114111

(0x10FFFF)空间,每个编码对应一个字符;-

Python字符串中每个字符都是Unicode编码字符。3.3字符串类型Unicode编码格式如下:

for<var>in<string>:

操作语句输出结果:China>>>forcin

"China":

print(c)3.3字符串类型字符串的遍历操作-“方法”特指<s>.<f>()风格中的函数<f>();方法本身也是函数,但与<s>有关,以<s>.<f>()风格使用;-

字符串或字符串变量是<s>,存在一些可用方法。3.3字符串类型字符串处理方法方法描述举例str.lower()返回字符串str的副本,全部字符小写"AbCdeG".lower()结果'abcdeg'str.upper()返回字符串str的副本,全部字符d大写"AbCdeG".upper()'ABCDEG'str.split(sep=None)返回一个列表,由str根据sep分隔的部分构成“10,20,30".split(",")[‘10',‘20',‘30']str.count(sub)返回sub在字符串str中出现的次数

"buaa".count("a")2str.replace(old,new)返回字符串str的副本,所有old子串被替换为new“BJ".replace(“B",“Bei")'BeiJ'str.center(width[,fillchar])字符串居中函数,fillchar没有就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论