资源简介 第 2 单 元 编程计算2.1计算机解决问题的过程计算机解决问题的一般过程:1.算法“算法”指解决问题的方法和步骤,是计算机为了解决问题而需要执行的有序的、无歧义的有限步骤的集合。2.算法的描述方法:(1)用自然语言描述算法自然语言是指人类日常生活中使用的语言,如汉语、英语等都是自然语言。特点:通俗易懂,但容易产生歧义,表示的含义往往不太严格。(2)用流程图描述算法流程图也称程序框图,是算法的图形化表示方法。流程图用一些图形符号表示规定的操作,并用带箭头的流程线连接这些图形符号,表示操作进行方向。特点:形象、直观,更容易理解。常用流程图符号及功能表示如下表:流程图符号 名称 功能起止框 表示算法的开始或结束输入/输出框 表示算法中数据的输入或输出处理框 表示算法中数据的运算处理判断框 表示算法中的条件判断流程线 表示算法中的运行方向连接符 表示流程图的连续3.三种基本结构的流程图算法的三种基本结构是顺序结构、分支结构和循环结构。(1)顺序结构是一种最简单的基本结构,按照自上而下的先后顺序依次执行程序语句。(2)分支结构也称为选择结构,是一种根据给定的条件进行判断的结构。(3)循环结构是一种重复某一部分操作的结构。4.程序设计语言的发展程序设计语言经历了从机器语言、汇编语言到高级语言的发展过程。(1)机器语言:由二进制的0、1代码指令构成,能被计算机直接识别。特点:理解和记忆非常困难,并且容易出错,编程效率极低。(2)汇编语言:是符号化的机器语言,采用英文助记符代替机器指令,比机器语言容易识别和记忆,从而提高了程序的可读性。特点:是面向机器的语言,是为特定的计算机系统设计,属于低级语言。(3)高级语言:更接近自然语言,不依赖于特定的计算机系统。特点:更容易掌握和使用,通用性更好,程序可读性更强,也便于修改、维护。比较流行的高级语言有Java、C/C++及Python等。Python是一种面向对象的解释型计算机程序设计语言,发明于1989年,具有简单、免费、开源和可移植性等特点。简单:Python是一种代表简单主义思想的语言,它的这种伪代码本质是其最大的优点之一。免费、开源:可以自由地发布这个软件,阅读它的源代码,对它做改动,把它的一部分用于新的自由软件中。可移植性:由于它的开源本质,Python已经被移植在许多平台上,如Linux、Windows、Android等。1.用计算机程序解决问题的基本过程是( )。A.明确任务→建立表格→分析数据→形成报告B.确定主题→收集与选择素材→规划与设计→制作集成→评价修改C.需求分析→规划与设计→素材的采集与加工→作品集成→发布与评价D.分析问题→设计算法→编写程序→调试运行→检测结果2.描述算法可以有多种方法,以下不是算法描述的方法( )。A.流程图 B.程序代码 C.自然语言 D.树形图3.将两个变量互换的算法描述如图所示,描述的方式是( )。两个变量互换的算法:S1. 定义三个同种类型的变量x,y,zS2. 输入x和yS3. 使z=x,即将x中的内容放入zS4. 使x=y,即将y中的内容放入xS5. 使y=z,即将z中的内容放入yS6. 输出x和yA.伪代码 B.流程图 C.N-S图 D.自然语言4.在用流程图描述算法时,表示判断的图形符号是( )。A. B. C. D.5.农夫带羊过河;农夫返回;农夫带狼过河;农夫带羊返回;农夫带蔬菜过河;农夫返回;农夫带羊过河。这是经典的“农夫过河”问题的可行算法。该算法的结构是( ) 。A.顺序结构 B.选择结构 C.分支结构 D.循环结构6.下图所示的流程图表达的是( )。A.顺序结构 B.选择结构 C.循环结构 D.跳转结构7.计算机程序设计语言的发展一共经历了三个阶段,最早出现的编程加工语言是( )。A.自然语言 B.汇编语言 C.机器语言 D.高级语言8.高级语言更接近自然语言,并不特指某种语言,也不依赖特定的计算机系统,因而人们更容易掌握和使用,通用性也更好。以下选项中不属于高级语言的是( )。A.Java语言 B.Python语言 C.汇编语言 D.VB语言9.关于Python语言的特点,以下选项中描述正确的是( )。A.Python语言不支持面向对象 B.Python语言是解释型语言C.Python语言是编译型语言 D.Python语言是非跨平台语言10.Python文件的后缀名是( )。A..doc B..vbp C..py D..exe2.2做出判断的分支1.利用赋值语句实现计算(1)常量:即在程序运行过程中值始终保持不变的量。所有的常数都是常量,可以是数字、字符串、布尔值、空值。(2)变量:即在程序运行过程中值允许改变的量。在Python中,变量的命名规则为:①必须是以字母或下划线开头,后面可以是字母、下划线或数字;②变量的名字区分大小写;③不能使用保留字。(3)运算符与表达式常用的算术运算符如下:算术运算符 ** * / // % + -功能 幂 乘 除 整除 取模 加 减算术表达式 a**b a*b a/b a//b a%b a+b a-b优先级 1 2 2 2 2 3 3表达式由一个或多个操作数通过运算符组合而成。通常分为数学表达式、关系表达式和逻辑表达式。注:Python中的算术运算存在着优先级顺序,优先程度最高级别为1,级别数字越大,优先级越低。在同一个表达式中,如果有一个及以上的运算符,那么先执行优先级高的运算,同优先级的基本运算按照自左向右的顺序执行。(4)数据类型为了便于数据的表示与处理,Python提供了整数、浮点数和字符串等常见的数据类型。float():根据一个字符串或整数创建一个新的浮点数(小数)。int():根据一个字符串或浮点数创建一个新的整数。str():根据一个数创建(也可以是任何其他类型)一个新的字符串。(5)赋值语句基本格式:变量=表达式功能:先计算右边表达式的值,将表达式的值赋给左边的变量。【例1】n=n+1 #先计算赋值号右边的表达式n+1的值,再将这个值赋值给左边的变量n。【例2】a=b=c=1 #数值1赋值给变量a,b,c。【例3】a,b,c=1,2,3 #数值1,2,3分别赋值给变量a,b,c。【例4】a,b=b,a #交换a,b两个变量的值。【例5】c+=a #等效于c=c+a。常用的赋值运算符如下:赋值运算符 += -= *= **= /= //= %=赋值语句 a+=b a-=b a*=b a**=b a/=b a//=b a%=b等效于 a=a+b a=a-b a=a*b a=a**b a=a/b a=a//b a=a%b(6)输入和输出语句input():从键盘输入数据。print():在屏幕上输出数据,如有多个输出项,可以使用“,”分隔。【例6】myname=input("请输入myname:")print("hello",myname)2.利用分支语句实现计算当程序中需要根据不同的条件判断来决定程序执行的走向时,可以使用if分支语句实现。if分支语句可以分为单分支和双分支,基本格式如下: 单分支: if 条件: 语句或语句组双分支: if 条件: 语句或语句组A else: 语句或语句组B分支语句的条件称为关系表达式,关系表达式是用关系运算符连接起来的式子。常用的关系运算符如下:关系运算符 == > >= < <= !=功能 等于 大于 大于等于 小于 小于等于 不等于关系表达式 a==b a>b a>=b a<b a<=b a!=b常用的逻辑运算符如下:逻辑运算符 描述 用法 举例not 非 not a not(2==3)的结果为Trueand 与 a and b 只有当两个操作数都为True时,其结果才为True,如:(2<3)and(2>1)的结果为Trueor 或 a or b 只要有一个操作数为True,其结果为True,如:(2<3)or(1>2)运算符的优先级:(1)如果两个或多个运算符出现在同一个表达式中,则要按照优先级确定运算顺序。优先级高的运算符先运算,优先级相同的从左向右依次运算。(2)当表达式中出现“()”时,它的运算级别最高,应先运算“()”内的表达式;(3)运算符的优先级为:算术运算符>关系运算符>逻辑运算符;(4)在同类运算符中也要注意不同的优先级。例如,逻辑运算符not、and和or的优先级为: not>and>or。·多分支语句对于多分支语句的情况,Python语言通常使用if-elif-else语句来处理。格式如下:if 条件1: 语句或语句组Aelif 条件2: 语句或语句组B ……elif 条件n: 语句或语句组Nelse: 语句或语句组N+1·Python 格式化输出 %s %f %d格式说明由%和格式字符组成,如%f,它的作用是将数据按照指定的格式输出。格式说明是由“%”字符开始的。1.%d 有符号的十进制整数age=18print("我的年龄是%d" % age)输出:我的年龄是182.%s字符串name ="lulu"print("我的名字是 %s" % name)输出:我的名字是lulu3.%f 浮点数weight=49.9print("我的体重是%f" % weight)输出:我的体重是 49.9000004.%.2f表示小数点后显示的两位小数位weight = 49.9print("我的体重是%.2f" % weight)输出:我的体重是 49.90·round函数python的内置函数,用于数字的四舍五入s= 1.23567print(round(s,2)) #保留两位小数输出:1.241.下列选项中可以作为合法变量名的是( )。A.k-b B.3y C.Boy D.f(x)2.在Python中,以下表达式不正确的是( )。A.a= # *6 B.b= *** + @@@ C.c= | **3 D.d=3* ** 3.编写Python程序时,表达式x=应写成( )。A.x=a-b/2*a B.x=a-b/2aC.x=(a-b)/(2*a) D.(a-b)/2*a4.Python表达式3+4*5%2**3的运算结果是( )。A.3 B.23 C.15 D.75.下列语句中,在Python中非法的是( )。A.x=y=z=1 B.x,y=y,x C.x=(y=z+1) D.x+=y6.执行下列Python程序,a,b的值为( )。a,b=3,7a=a+bb=a-ba=a-bprint(a,b)A.10,-4 B.7,3 C.-4,-4 D.10,37.表达式3<5>2的运算结果为( )。A.False B.true C.True D.false8.表达式a%2==1 and a%5==0的含义可以描述为( )。A.能被5整除余1 B.能被2整除余1C.能被5整除的偶数 D.能被5整除的奇数9.以下流程图中x为整型变量。若输入9,算法执行结果是( )。A.PM B.Error C.AM D.WRONG10.下面的Python程序段运行后的输出结果是( )。a=5b=8if (a>b): print(a,"是大数")else: print(b,"是大数")A.a是大数 B.b是大数 C.5是大数 D.8是大数2.3周而复始的循环在计算机中某些代码的反复执行被称为循环。循环三要素:循环变量、循环体、循环终止条件。1.列表列表在Python中的作用非常强大,它可以包含多个数据元素,同时它是一个有序的集合。列表就是用“[ ]”将数据集中存放,便于记录和处理;用“[ ]”指出从哪里开始,到哪里结束;用逗号分隔列表中的各项;可以包含Python中能存储的任何类型的数据。列表的使用方法:(1)建立列表:list=[5,10,15, a , b , c ,True](2)在列表末尾增加元素:list.append( False )(3)插入元素:list.insert(2, bc )(4)删除元素:list.remove(10)或 del list[1](5)列表逆序:list.reverse()(6)获取元素:list[索引号],如list[0](7)打印列表:print(list)(8)列表排序:list.sort()2.计数循环循环重复次数一定时,通常被称为计数循环。在Python中,使用for语句来创建这类循环。for语句的基本格式如下: for 循环变量 in 列表:语句或语句组循环执行时,依次将列表中的元素赋给循环变量,并且执行循环体,直到元素被取完,循环结束。·range()函数格式:range(start,stop[,step])功能:默认从0开始,左闭右开,生成一个列表。参数说明:start:计数从 start 开始,默认从 0 开始,如:range(5)等效于range(0,5);stop:计数到 stop 结束,但不包括 stop,如:range(0,5)是[0,1,2,3,4],没有5;step:步长,默认为1,如:range(0,5)等效于 range(0,5,1)。3.条件循环条件循环一般用于循环次数未知的情况。只有当循环条件成立时,才执行循环体。在Python中,使用while语句来创建这类循环。while语句的基本格式如下:while关系表达式:语句或语句组功能:判断条件是否成立,如果成立,则执行循环语句或语句组,不断重复,直到条件不成立,退出循环。注意:(1)有一类特殊的关系表达式,如数字0表示假,非0数字表示真。如果循环是以“while 1:”开头,那么在不加干预的情况下程序就会陷入“死循环”,按快捷键Ctrl+C即可停止程序运行。(2)break语句可以用来终止循环语句,即循环没有结束,也会停止执行循环语句,即跳出整个循环,可以用在while和for循环中。(3)continue 语句跳过当前循环的剩余语句,然后继续进行下一轮循环,可用在while和for循环中。4.调试程序编写程序时难免会出现错误,这时可以借助Python的调试器pdb。方法:在程序开头加入语句“import pdb”,然后在适当的位置放一个“pdb.set_trace()”,就可以设置一个断点,让程序暂停运行,进入pdb调试环境。我们可以用命令“p”查看变量,用命令“c”继续运行,用命令“q”退出程序。·循环嵌套:在一个循环中包含另一个循环。如利用双重循环可实现输出九九乘法表:for i in range(1,10):for j in range(1,i+1):print("{e:1}*{1:1}={2:2}".format(j,i,j*i),end="")print() #换行注:format()函数控制格式化的输出。其中,“{0:1}”表示第0个参数,即j输出长度为1个字符;“end=""”表示输出结束后不换行。1.下列关于Python列表的描述中,错误的是( )。A.列表元素可以被修改 B.列表元素允许为空C.列表索引从下标0开始 D.列表元素的数据类型必须一致2.已知Python列表s=[ 长江 , 长城 , 黄山 , 黄河 ],那么s[-2]是( )。A. 长江 B. 长城 C. 黄山 D. 黄河 3.已知Python列表a=[ W , o , r , d ],依次执行如下操作后,列表a的值为( )。a.pop()a.append( l )a.append( d )A.[ W , o , r , d ] B.[ W , o , r , l , d ]C.[ o , r , d , l , d ] D.[ l , d , o , r , d ]4.下列Python程序段运行的结果是( )。for i in range(1,10):x=x+iprint(x)A.1+10的和 B.1+9的和C.1~9所有整数的和 D.1~10所有整数的和5.下列代码的输出结果是( )。for i in range(0,10,2):print(i,end=" ")A.0 2 4 6 8 B.2 4 6 8 C.0 2 4 6 8 10 D.2 4 6 8 106.下列代码的输出结果是( )。sum=1for i in range(10,0,-1):sum+=iprint(sum)A.1 B.56 C.67 D.56.07.下列关于Python循环结构的描述中,错误的是( )。A.break 用来结束当前当次语句,但不跳出当前的循环B.用循环遍历的对象可以是字符串、混合的数据类型和range()函数等C.Python通过for、while等保留字构建循环结构D.continue只结束本次循环8.下列代码的输出结果是( )。for i in range(1,6):if i%4 == 0:continueelse:print(i,end =",")A.1,2,3, B.1,2,3,4,C.1,2,3,5, D.1,2,3,5,69.如下程序段a=2b=1while a >= b:b=a * ba=2 * a执行后,a,b的值分别为( )。A.4 2 B.16 64 C.8 8 D.2 110.输入数字“12345”,下列代码的输出结果是( )。x=int(input("Enter a number: "))s=0while x!=0:s+=x%10x//=10print(s)A.12345 B.1234 C.15 D.1232.4可以复用的代码在程序代码中有许多功能是相似或完全相同的,这时可以考虑用代码复用的方法提高程序的效率。这既可以减少重复编写代码的工作量,也可以使程序的结构更加清晰。常见方法:“函数”和“模块”是代码复用的常见方法。“函数”和“模块”来源:Python自带的内置函数和模块;自己编写一些函数或模块;到代码共享社区去下载。1.函数函数类型:系统函数和用户自定义函数。(1)系统函数即函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编制好的程序。如print()和input()函数都是系统函数。常见的系统函数包括数学运算类函数、数据转换类函数、字符串操作类函数、输入输出函数、文件操作类函数等。(2)用户自定义函数则是用户自己编写的一段程序。函数一般包括函数名、参数、返回值和函数体等四部分内容,其中函数名和函数体是必不可少的,参数和返回值可根据需要进行定义。自定义函数的基本格式:def函数名(参数1,参数2……):#函数说明语句或语句组return返回值参数是用来向函数传递值的,当有多个参数时,各个参数之间用逗号分隔开。函数执行完成后,由return语句将表达式返回给调用者,结束函数。函数的调用格式:变量=函数名(参数)2.发布代码通过模块发布代码可以让很多人共享你的程序。方法:(1)做好发布前的准备工作。在D:\创建一个文件夹mymodule,其中包含mymodule.py和setup.py两个文件。mymodule.py是一个模块文件,其内容就是自定义的函数;setup.py文件包含有关发布的元数据。(2)打开mymodule所在的目录,构建发布文件。(3)将发布文件安装到你的Python本地副本或在互联网上发布你的代码。3.导入模块并使用已经构建发布的模块或系统自带模块,必须先导入程序才能使用。导入模块的语句格式:import 模块名。·Python中提供了大量标准模块,亦称标准库,如time模块和random模块。(1)time模块可以获取计算机的时钟信息,包括日期和时间,也可以用于延时。time.time():返回当前时间的时间戳,即1970纪元后经过的浮点秒数。time.sleep(secs):参数secs是要暂停执行的秒数,如: time.sleep(2)表示延时2秒。time.asctime([t]):格式化显示时间。(2)random模块可以生成随机数。random.random():用于生成一个0到1的随机浮点数:0<=n<1.0。random.randint(a,b):用于生成一个指定范围内的随机整数,生成的随机数n的取值范围为:a<=n<=b。random.randrange([start,]stop[,step]):从指定范围内,按指定基数递增step的集合中获取一个随机数,如:random.randrange(1,10,2)即在生成的列表中[1,3,5,7,9]中获取一个随机数。1.Python语言中用来定义函数的关键字是( )。A.import B.def C.function D.return2.以下对于函数的定义选项中,错误的是( )。A. def vfunc(*a,b): B. def vfunc(a,b):C. def vfunc(a,*b): D. def vfunc(a,b=2):3.关于函数的参数,以下选项中描述错误的是( )。A.可选参数可以定义在非可选参数的前面B.一个元组可以传递给带有星号的可变参数C.在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现D.在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值4.以下Python程序段,运行后输出的值是( )。def factorial(n):s=1for i in range(2,n+1): s=s*ireturn stotal=factorial(4)print(total)A.24 B.4 C.44 D.165.运行下列程序后,函数f(4)的值为( )。def f(n):if n==1: return 1else: return n+f(n-1)A.1 B.3 C.6 D.106.下列代码的输出结果是( )。def fun(a,b) :t=aa=bb=tprint(a,b)# pow(x,y)返回x**y的值fun(pow(3,2),pow(2,3))A.3 2 B.2 3 C.8 9 D.9 87.关于python发布代码及安装使用代码,下列说法中错误的是( )。A.创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件B.在DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件C.已经构建发布的模块必须先导入程序,然后才能使用。导入时只能使用语句“import mymodule”,不可以用“from mymodule import *”D.下载安装,使用“python setup.py install”命令安装到你的Python本地副本中8.以下关于模块说法中,错误的是( )。A.一个xx.py就是一个模块B.任何一个普通的xx.py文件都可以作为模块导入C.模块文件的扩展名不一定是.pyD.运行时会从指定的目录搜索导入的模块,如果没有,会报错异常9.Python中很多模块必须导入后才能使用,下列选项中哪个可以导入模块?( )A. import mymodule B. imput mymoduleC. def mymodule D. print mymodule10.想要在Python程序运行时产生一个随机数,需要导入的模块是( )。A.data B.random C. pygame D.turtle第2单元2.1 1.D 2.D 3.D 4.B 5.A 6.C 7.C 8.C 9.B 10.C2.2 1.C 2.C 3.C 4.D 5.C 6.B 7.C 8.D 9.C 10.D2.3 1.D 2.C 3.B 4.C 5.A 6.B 7.A 8.C 9.B 10.C2.4 1.B 2.A 3.A 4.A 5.D 6.C 7.C 8.C 9.A 10.B 展开更多...... 收起↑ 资源预览