1、大家好大家好1计算机编程导论计算机编程导论 课程建设组课程建设组 编著编著2014.32014.32第第1 1章顺序程序设计章顺序程序设计1.5 顺序程序设计基础知识顺序程序设计基础知识1.6 顺序程序设计基础知识的应用顺序程序设计基础知识的应用3框图复习框图复习 框图又称流程图,是表达程序设计思想和程序设计步骤的一种直观工具。开始开始框用于流程的开始结束结束框用于流程的结束功能框用来完成计算等功能4单分支判断框用于解决单分支问题例子:if x0:n=n+1FalseTrue条件双分支判断框用于解决双分支问题例子:if x0:y=1+2*xelse:y=0print y=,yFalseTrue
2、条件5FalseTrue条件循环框1用于解决需要反复进行的问题。例子1:s=1,2,3for x in s:print x例子2:i=1s=0while i100:breakprint sFalseTrue条件7输入输出输入框向程序输入数据例子:x=input(x=)输出框程序向外输出信息例子:print s=,s 框图直观且易于修改,有利于人们表框图直观且易于修改,有利于人们表达出解决问题的思想和方法。达出解决问题的思想和方法。81.5 顺序程序设计基础知识顺序程序设计基础知识1.5.1 Python的对象模型的对象模型对象是python语言中最基本的概念,在python中处理的每样东西都是
3、对象。python中有许多内置对象可供编程者使用,有些内置对象可直接使用,如数字、字符串、列表、del等;有些内置对象需要导入模块才能使用,如正弦函数sin(x),随机数产生函数random()等。9表表1-1 常用内置对象常用内置对象101.5.2 python的变量和引用的变量和引用1.变量的创建变量的创建 x=3 创建了变量x2.引用引用 在python中从变量到对象的连接称为引用。x=3x3变量对象引用变量拥有自己的存储空间,变量连接到对象是该变量存储了对象单元的内存地址,并没有存储对象的值。113.共享引用共享引用 共享引用是指多个变量引用同一个对象。下面的语句使两个变量都引用同一个
4、对象3a=3b=a下面在windows中的idle中演示对象、变量和引用 a=1,2,3 b=a;a01 b0=4 a04 a4,2,3 b4,2,3121.5.3.1 整数 十进制整数如,0、-1、9、123 十六进制整数,需要16个数字0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f来表示整数,为了告诉计算机这是一个十六进制数,必须以0 x开头,如0 x10、0 xfa、0 xabcdef 八进制整数,只需要8个数字0、1、2、3、4、5、6、7来表示整数,为了告诉计算机这是一个八进制数,必须以0o开头,如0o35、0o11 二进制整数、只需要2个数字0、1来表示整数,为了告
5、诉计算机这是一个二进制数,必须以0b开头如,0b101、0b1001.5.3 数字数字是python中最常用的对象。131.5.3.2 浮点数浮点数又称小数,如 15.0、0.37、-11.2、1.2e2、314.15e-21.5.3.3 复数 复数是由实部和虚部构成的数,如3+4j、0.1-0.5ja=3+4jb=5+6jc=a+bc8+10j c.real#复数的实部8.0 c.imag#复数的虚部10.0141.5.4 字符串 用单引号、双引号或三引号括起来的符号系列称为字符串,如abc、123、中国、Python、可换行的字符串 空串表示为或 1.字符串合并字符串合并 a=abc+12
6、3152.转义字符转义字符 转义字符可表示所有字符转义字符可表示所有字符 如如 n 是换行符是换行符 x41 、101 、A 都表示字符都表示字符A请理解下列语句请理解下列语句 print 123456123456 print 123n4561234563.三引号的用法三引号的用法三引号表示的字符串可以换行,因此可用来表示超长字符三引号表示的字符串可以换行,因此可用来表示超长字符串。或给程序加较长的注释。串。或给程序加较长的注释。161.5.5 操作符和表达式 171.5.6 常用内置函数 range(start,end,step)18理解下面的例子range(5)0,1,2,3,4range
7、(2,10,3)2,5,8191.5.7 对象的删除Python中删除对象用del语句。del用来删除一个对象,并释放对象所占资源。del的用法演示如下:a=1,2,3del a1a1,3x=5x5del x#此后x就不存在了 201.5.8 输入输出 用Python进行程序设计,输入是通过input()函数来实现的,imput()的一般格式为:x=input(提示:)该函数返回输入的对象。可输入数字、字符串和其它对象 输出是通过print语句来完成的,print语句的一般格式为:print 对象1,对象2,.,对象n211.5.9 模块的导入 常用的是 import 模块名 如:import
8、 math math.sin(0.5)#求0.5的正弦 import random x=random.random()#获得0,1)内的随机小数 y=random.random()n=random.randint(1,100)#获得1,100上的随机整数 221.7 顺序程序设计基础知识的应用【例例1-3】任意输入三个英文单词,按字典顺序输出。分析:分析:三个单词输入后,需要比较两个字符串的大小,必须时交换两个字符串。23开始输入三个单词分别送给x,y,zxyxz交换x,y的值交换x,z的值TrueFalseFalseTrue结束输出x,y,zyz交换y,z的值FalseTrue24#Exp1
9、_3.pys=input(x,y,z=)x,y,z=s.split(,)#把字符串用逗号进行分离,返回子串构成的列表if xy:x,y=y,x#交换x,y的值 if xz:x,z=z,xif yz:y,z=z,yprint(x,y,z)输入及程序运行结果:输入及程序运行结果:x,y,z=bin,oct,hexbin hex oct25【例例1-4】输入一个二元一次方程组,解方程组。分析:分析:根据代数知识,二元一次方程组的解是由方程组的4个系数和2个常数决定的。用加减消元法,把方程组等号左端区域变成对角形,从而得到解。121110020100ayaxaayaxa12110200ayaaxa 从
10、 变为 26图1-11 加减消元法解二元一次方程组27#Exp1_4.py a=0,0,0,0,0,0#定义一个列表定义一个列表a00,a01,a02=input(请输入第请输入第1个方程的个方程的3个数个数:)a10,a11,a12=input(请输入第请输入第1个方程的个方程的3个数个数:)#第第1行乘以行乘以-a10/a00加到第加到第2行行d=-a10/a00a10=a10+d*a00a11=a11+d*a01a12=a12+d*a02#第第2行乘以行乘以-a01/a11加到第加到第1行行d=-a01/a11#a00=a00+d*a10a01=a01+d*a11a02=a02+d*a1
11、2print x=,a02/a00print y=,a12/a1128输入及程序运行结果:输入及程序运行结果:请输入第1个方程的3个数:1,2,3请输入第2个方程的3个数:4,9,7x=13.0y=-5.0说明:将来使用循环和分支,用这种思想可解多元方程。291.8 代码块的缩进代码块的缩进python程序是依靠代码块的缩进来体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。【例例1-5】解决行列式的输出的问题#Exp1_5.pya=111,2,30,4,50,6,7,8,9#Exp1_5.pya=111,2,30,4,50,6,7,8,9s1=print(_1_)for x in a
12、:s=for y in x:s1=%6d%ys=s+s1print(s)30s1=print _1_for x in a:s=for y in x:s1=%6d%ys=s+s1print s31print _2_i=j=0while i3:j=0s=while jNew Window 新建立的窗口和Idle窗口如下所示:Idle启动后界面如下:36(5)在新窗口中录入代码,如下:(6)代码存盘。用File菜单的save子菜单,或打ctrl+S 然后起一个文件名如add.py。保存后的窗口如下:c37(7)运行程序。用Run菜单的Run Module 子菜单,或功能键F5。上述程序的运行结果如下:38