资源简介 第三章 算法的程序实现用计算机编程解决问题的一般过程:抽象与建模---设计算法----编程程序----调试运行程序。一、数据类型1、字符型:string,简写为:str,包括汉字、字符、字符串以及标点符号。使用的时候用“”或者’’或者’’’ ’’’括住。(注引号都是英文状态)2、整型:interger,简写为:int,包括正整数,零,负整数。3、实型:float,主要指的就是小数。二、运算符、常用函数、表达式1、算术运算符基本运算 运算符 优先级 示例指数次幂 ** 1 2**8表示28乘 * 2 a*b表示a乘以b除 / 2 5.2/2计算结果为2.6整除 // 2 5//2计算结果为2求余 % 2 17 % 3计算结果为2加 + 3 a+b表示a加b的和减 - 3 a-b表示a减去b的差2、关系运算符关系运算 运算符 优先级 示例大于 > 4 100>99结果为True小于 < 4 1.2<-23结果为False大于等于 >= 4 Sin(1)>=0结果为True小于等于 <= 4 Sqr(3)<=0结果为False等于 == 4 12==13结果为False不等于 != 4 12!=13结果为Truein x in y 5 “5”in’2’结果为False3、逻辑运算符关系运算 运算符 优先级 示例非(求反) not 6 not(12>13)结果为True与(并且) and 7 (23>10) and (30<23)结果为False或(或者) or 8 (23>10) or (30<23)结果为True4、运算符的执行顺序:算术运算符 > 关系运算符 > 逻辑运算符5、当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。优先程序最高级别为1,级别数字越大,优先级越低。三、变量与赋值运算1、变量:在程序执行过程中,有些数据是未知可变的,我们使用变量来存储。2、变量命名要点:①只能由字母、数字或下划线组成。②不能以数字开头。③区分字母大小写。如HELLO和Hello不是同一个变量。④不能以保留字作变量名,如if、For、while等。3、变量的赋值: 变量名 = 表达式或值Number=0Number=Number+1Number+=1 等价于 Number=Number+1四、基本数据结构1、字符串和列表索引 0 1 2 3 4 5字符串 p y t h o n索引 -6 -5 -4 -3 -2 -1字符串是由0个或多个字符串组成的序列列表也是由0个或多个元素组成的序列,但是元素可以是数字,字符串等混合类型的数据。甚至是其他的列表。列表用方括号”[]”来表示,元素之间以逗号,分隔。字符串,列表中的元素都是都是通过索引来定位的。若访问的不是单个元素,而是一定范围内的多个元素,可以通过冒号:间隔的两个索引参数来实现。对象名[start:end:step],其中end取不到,step默认为1。例:s1=”123”,s2=”456”s1+s2 结果:”123456” s1*2 结果:”123123”list1=[1,3,5] list2=[2,4,6]list1+list2 结果:[1,3,5,2,4,6] List1*2 结果:[1,3,5,1,3,5]2、字典:字典中每个元素包含两个部分内容:键和值。键通常用字符串或数值来表示,值可以是任意类型的数据。键和值两者一一对应,且每个键只能对应一个值。例如:dict1={“a”:12,“b”:13} dict1[“a”] 结果:12五、顺序结构的实现1、Python常见的内联函数input()函数实现了用户和计算机程序的交互输入,返回值为字符串型,参数为提示信息prompt,由用户输入内容。print()输出函数int() 将字符串和数字转换成整型float() 将字符串和数字转换成实型abs() 返回绝对值 len() 返回序列的长度help() 提供交互式帮助ord() 字符转为对应的ASCII码(十进制) chr()ASCII码转为对应的字符round(x,y) 对x进行四舍五入保留y位小数max() 返回序列的最大值 min() 返回序列的最小值六、分支语句1、双分支:if <条件>:<语句A>else:<语句B>2、多分支结构if <条件1>:<语句A>elif <条件2>:<语句B>elif <条件3>:<语句C>.....else:<语句x>七、循环语句1、for循环for语句的格式:for <变量> in <序列>: <循环体>for语句通过遍历序列中的元素实现循环,并通过序列的元素数量来控制循环次数,即循环过程,序列中的每个元素都会依次被赋值给变量,并分别执行一次循环体。range() 函数可创建一个整数列表,一般用在 for 循环中。使用方式: range(start, stop[, step])start: 计数从 start 开始。默认是从 0 开始。range(4) 相当于 range(0,4)stop: 计数到 stop 结束,不包括 stop。range(0,4) 表达 [0, 1, 2, 3]step:步长,默认为1。range(0,3) 相当于 range(0, 3, 1)2、while循环语句的格式:while 条件: <循环体>while循环在执行时,首先会判断条件是否为真,如果条件为真,执行一次循环体,在此判断条件是否为真,如果仍为真,那么再执行一次循环体,以此类推,直到条件为假时退出while语句。八、函数与模块1、在用算法解决问题的过程中,经常采用模块化程序设计思想,将问题分解成若干个子问题,并用相对独立的程序段来针对性的解决各个子问题,提高程序设计的效率。对于常用的程序代码,以模块化的形式进行保存,需要时可重复调用。2、定义函数的语法规则如下:def 函数名(参数集合):<函数体>[return 函数值]3、调用函数语法:函数名(实参)4、模块的导入有两种方法:方法一:import mathmath.sqrt(9)方法二:from math import sqrtsqrt(9)math模块名称 含义math.e 自然常数emath.pi 圆周率pimath.ceil(x) 对X向上取整,比如x=1.2,返回2math.floor(x) 对X向下取整,比如x=1.2,返回1math.pow(x, y) 指数运算,得到x的y次方,返回结果为实型 内建函数pow(x,y)返回结果为整型math.log(x) 对数运算,默认基数为emath.sin(x) 返回x(弧度)的三角正弦值math.cos(x) 返回x(弧度)的三角余弦值math.tan(x) 返回x(弧度)的三角正切值math.degrees(x) 弧度转成角度math.radians(x) 角度转成弧度random模块名称 含义random.random() 随机生成一个[0,1)范围内的实数random.uniform(a,b) 随机生成一个[a,b]范围内的实数random.randint(a,b) 随机生成一个[a,b]范围内的整数random.choice(seq) 从序列的元素中挑选一个元素 如random.choice(range(10)),从0到9中随机挑选一个整数random.sample(seq,k) 从序列中随机挑选k个元素random.shuffle(seq) 将序列的所有元素随机排序九、解析和枚举算法的应用1、解析算法的基本思想是指根据问题的前提条件与所求结果之间的关系,找出求解问题的数学表达式,并通过表达式的计算来实现问题的求解。2、枚举算法的基本思想是把问题所有的可能的解一一列举(循环结构),然后判断每一个列举的可能解是否为正确解(选择结构)。 展开更多...... 收起↑ 资源预览