内容正文:
39
第三章 Python语言程序设计
一、Python语言基础
程序设计语言是人与计算机进行交互的语言.在生活中我们使用计算机去解决问题,就
需要用程序设计语言编写程序,让计算机去执行我们预设的任务.程序是一组操作指令或语
句序列,是计算机执行算法操作的步骤.
40
1Python常用数据类型
(1)数据是计算机程序处理的对象,数据按照其本身的特性可以分为不同的数据类型.
Python常用的数据类型见表3G1.
表3G1 Python常用的数据类型
数据类型 类型标识符 类型说明
整型 int Python中整数可以是任意大小整数
浮点型 float 由整数部分与小数部分组成,也可以使用科学记数法表示
字符串型 str 用单引号或者双引号括起来的一串字符
布尔型 bool 只存在两种值:真(True)或者假(False),常用于逻辑判断
(2)在程序设计中,可以通过强制类型转换操作,把数据从一种类型强制转换成另一种类
型,详见表3G2.
表3G2 数据类型间的强制转换
类型 说明 举例
float(x)
用于将整数和字符串
转换成浮点数
1.将整型数据转换为浮点数,float(3)输出为3.0
2将字符串型数据转换成浮点数,float(“3”)输出为3.0
int(x)
用于将数字或字符串
转换为整型
1将浮点型数据转换为整数,int(3.6)输出为3int(3.1)输出为3;
int(-3.1)输出为-3
2将字符串型数据转换为整数,int(‘3’)输出为3
str(x)
用于将指定的值转换
为字符串
1.将整型数据转换为字符串,str(3)输出为‘3’或“3”
2将浮点型数据转换为字符串,str(4.5)输出为‘4.5’或“4.5”
2Python常量变量与赋值符
(1)常量是直接给定,在程序中其值不会发生改变的量.
(2)变量是指其值在程序运行过程中可以被改变的量,变量被存储在内存中,可以通过变
量名访问.
(3)变量命名规则:大小写英文字母数字或下划线组成,①以英文字母或下划线为首字符,
②长度不限,③不能与Python保留字同名,④大小写敏感.变量的数据类型由被赋值的数据
对象的类型决定.
(4)赋值符“=”,其作用是把赋值号右边表达式的计算结果存储到赋值号左边指定的变
量中.
例如:c=4 #将4的值赋给变量c.
print(c) #输出c的值,验证变量c的值是否为4.
41
3Python输入输出
输入输出是用户与程序进行交互的主要途径.通过输入语句,程序能够获取运行所需要
的原始数据;通过输出语句,程序能够将数据处理结果告知用户.简单而言就是从标准输入中
获取数据并将数据打印到标准输出.Python数据标准输入输出提供了input()和print()
函数.
(1)Python输入.
input()函数接收用户的输入,当用户输入程序所需要的数据时,会以字符串形式返回.
可以让程序暂停运行并输出所给的提示信息,等待用户输入数据后回车结束,输入的内容将会
保存到对应的变量中.函数最后把不包含回车符的字符串转换以后作为结果返回,系统继续
向下执行代码.
input()
age=input(“pleaseinputanumber:”)
print(age)#输出age的值.
不管输入什么信息,input()函数一律作为字符串对待,所以变量返回的是字符串类型.
要改变其输出类型,必须依靠强制类型转换.
age=int(input(“pleaseinputanumber:”))
将输入的字符串强制转化成数字类型赋予age变量.
(2)Python输出.
输出print()函数显示一项或多项程序处理的结果,可以将运行结果按照一定的输出格式
输出,输出项之间用“,”分隔.如果里面包含表达式,先计算表达式再输出.
举例:
print(a,b,c) #输出多个变量的结果.
print(a,’’,end=’’) #输出变量,以空格分隔,但是不回车换行.
4Python运算符与表达式
(1)表达式是把常量、变量、需要运算的数据等,用运算符连接起来,用来描述值的计算过
程,或用来描述情况的判断过程.
(2)表达式与运算符的优先级:当一个表达式中同时出现多种运算符时,优先级高的运算
符先运算,优先级相同的从左向右进行运算.若表达式中有括号,则先计算括号内的表达式.
若有多层括号,则按由内向外的顺序进行计算.
(3)不同性质的运算符优先级如下:算术运算符>关系运算符>逻辑运算符,常见运算符
见表3G3.
42
表3G3 常见运算符
基本运算 运算名称 运算符 优先等级 举例说明
算术运算
乘幂 ∗∗ 1 2∗∗3 结果为8
乘法 ∗ 2 2∗3 结果为6
实数除法 / 2 5/2
结果为2.5,Python中所有除法得
到的都是浮点型数据
整除 // 2 5//2 结果为2
求余数 % 2 5%2 结果为1
加法 + 3 3+2 结果为5
减法 - 3 3-2 结果为1
关系运算
小于 < 4 1<2 True
大于 > 4 3>2 True
小于等于 <= 4 2<=2 True
大于等于 >= 4 3>=2 True
相等 == 4 2==2 True
不相等 != 4 2!=2 False
逻辑运算
非 not 5 notTrue=False,notFalse=True
与 and 6 TandT=T,TandF=F,FandF=F
或 or 7 TorT=T,TorF=T,ForF=F
5常用的表达式类型
常用的表达式:算术表达式、字符串表达式、关系表达式、逻辑表达式.
算术表达式:结果为数值.
字符串表达式:结果为字符串.
关系表达式:结果为逻辑值(True或False).
逻辑表达式:结果为逻辑值(True或False).
6Python内置函数与模块
内置函数是一种预定义并且已经实现的、可以供用户直接调用的函数.函数可以直接通
过“函数名(参数列表)”的方式调用,多个参数之间一般以逗号分隔,实例见表3G4.
Python语言中的模块是一个程序文件,在使用之前通过“import模块名”的方式导入.例
如:通过“importmath”导入数学模块后,就可以直接调用该模块中定义的函数.
43
表3G4 数学函数实例
函数名 函数的功能说明 应用举例 函数返回值
abs(x) x的绝对值 abs(-3.1) 3.1
int(x) 求不大于x的最大整数 int(3.1);int(-3.1) 3;-3
round(x,n)
返回x的值,该值四舍五入到小数点
后的n位数字
round(2.23412,3) 2.234
random.randint(x,n) 返回x和n之间的任意整数,包含x,n random.randint(0,4) [0,4]
math.sqrt(x) 求x的算术平方根 math.sqrt(4);math.sqrt(16) 2;4
math.pow(x,y) 返回值为x的y次方 math.pow(2,4) 16.0
7Python字符串
字符串主要用于存储和表示文本,是Python中最常见的数据类型之一.计算机中文本的
最基本单位是字符,包括可见字符和不可见字符,其中可见字符有英文大小写字母、数字字符、
标点符号和一些常见符号;不可见字符包括回车、空格等.Python语言提供了对字符串类型
数据的一些常用操作,包括连接、复制等,见表3G5.
表3G5 字符串常用的操作
操作 描述 举例(str1=”Helo”,str2=”Python”)
x+y 连接两个字符串x和y str1+“”+str2,返回“HeloPython”
x∗n 复制n次字符串x str1∗3,返回“HeloHeloHelo”
len(x) 求字符串x的长度 len(str1),返回5
8Python列表
列表是Python中常见的一种数据形式,它可以把大量的数据放在一起,对其进行集中处
理.列表是以“[]”包围的数据集合,不同成员间以“,”分隔.列表中可以包含任何数据类型,
也可以包含另一个列表.List里面数据序号从0开始,反向计数从-1开始.
Python语言提供了一些对列表的操作方法,见表3G6.
表3G6 列表的操作方法
方法 描述 举例
len(list) 返回列表的长度 List=[1,2,3,4],len(list)=4
List.append(x) 在列表尾部追加成员x
List=[1,2,3,4],执行list.append(5)后,5这个元
素加进了list,list=[1,2,3,4,5]
List.insert(i,x) 向列表中指定位置i插入x
List=[1,2,3,4],执行list.insert(3,6)后,6这个元
素加进了list,list=[1,2,3,6,4]
List.remove(x) 删除列表中的指定成员
List=[1,2,3,4],执行list.remove(4)后,4这个元
素被删除了,list=[1,2,3]
44
例3G1 执行以下Python语句a=“12”;b=“34”;c=“a”+“b”的值是( ).
A.“1234” B.1234 C.46 D.“ab”
分析与解答:字符串a=“12”,b=“34”,c=“a”+“b”即等于“a”+“b”结果为“ab”.即答
案是D.
例3G2 若x=8,则表达式x%5<5%xand“C”>“D”的值是( ).
A.F B.T C.5 D.7
分析与解答:按照基本运算的优先级,依次为算术运算符(“%”)、关系运算符(“<”“>”)、
逻辑运算符(“and”).先做算术运算,x除以5的余数得3,x%5=3,而5除以x的余数是5,
5%x=5;再计算3<5得 True,字符“C”的 ASCII码为1000011,转换成十进制是67,字符
“D”的 ASCII码为1000100,转换成十进制是68,“C”>“D”得False;最后逻辑运算TandF结
果为F.即答案是 A.
例3G3 表达式not5! =5or6>abs(-8)的值是( ).
A.3 B.T C.8 D.F
分析与解答:按照基本运算的优先级,依次为算术运算符(“abs(-8)取绝对值”)、关系运
算符(“!=”“>”)、逻辑运算符(“not”“or”).先做算术运算abs(-8),结果为8;再做关系运
算5!=5,结果为F,关系运算6>8结果为F;最后逻辑运算notF结果为T,TorF结果为T.
即答案是B.
例3G4 若变量a,b的值都为1,那么逻辑表达式a>=bandnota+b>a∗banda>b的
值是( ).
A.F B.T C.1 D.-1
分析与解答:按照基本运算的优先级,依次为算术运算符(“∗”“+”)、关系运算符(“>=”
“>”)、逻辑运算符(“not”“and”).先做算术运算a+b=2,a∗b=1;再做关系运算a>=b为
T,a+b>a∗b结果为 T,a>b的结果为F;最后逻辑运算 TandFandF.即答案是 A.
例3G5 驾驶汽车时应该遵守交通规则、文明行车、安全行车,下面( )示意图能满足安
全行车要求.
A. B.
45
C. D.
分析与解答:安全行车,只有当无行人通过并且无红灯时才能安全行车,无行人和无红灯
二者属于逻辑与关系,必须为 True才能满足安全行车.选项 A 中退出循环的条件是绿灯或
者无行人,是逻辑或关系,不符合条件,错误.选项B中同样是逻辑或关系,同样不符合安全
行车的条件.选项D中逻辑与关系,有行人直接无法安全行车,错误.即答案是C.
1不符合Python变量命名规则的是( ).
A.6ac B.BsFF C.a123 D.ABCD
2下列属于浮点型数据的是( ).
A.False B.-6 C.“2.0” D.3.0
3下列表达式计算错误的是( ).
A.30+“10”结果为30 B.“20”+“10”结果为“2010”
C.3.0/3结果为1.0 D.4+5结果为9
4下列表达式计算正确的是( ).
A.“a”+“b”=“a” B.6%2=3
C.3∗“py”=“pypypy” D.8/4=2
5若变量 m=0.64,则表达式 math.sqrt(m)<landnotint(m)>l的值是( ).
A.F B.T C.0.8 D.0
6not((4>3)or(3<0))and(4>2)的值和下列( )表达式的值相等.
A.4>2and7>2 B.2<0and7>2
C.4>2or3<0 D.2<0or7>2
7如果x=2,那么以下运算结果不同的是( ).
A.(x<=2)and(x>=5) B.(x>2)or(x>=5)
C.(x>=2)and(x>=5) D.not(x!=2)
8设有bl=True,b2=True,b3=False,以下表达式值为 False的是( ).
A.blorb2andb3 B.(notblorb2)and(b2orb3)
C.Falseornotblandb2ornotb3 D.notblandnotb2
46
9 若变量a=1,b=2,则逻辑表示式:(a> -b)andnot(a==b)or(a+b/2==2)的值
是( ).
A.F B.2 C.-2 D.T
10列表d=[1,4,2,8,5,3,7,10],以下表达式成立的是( ).
A.d[1+3]>d[3] B.d[d[2]+d[0]]<=d[0]+d[6]
C.d[1]+4==d[1]+d[4] D.d[d[5]+1]<d[1]
11如图3G1所示算法,实现一个四位数的自然数n的千位数字与个位数字互换,而十位数字
与百位数字换.空白处不符合条件的表达式为( ).
图3G1
A.int((n%1000)/100) B.int(n/100)%10
C.(n%1000-n%100)/100 D.int(n/10)%100
12分段函数y=
4x+6,x为奇数
2x+7,x为偶数{ ,求y的值.如流程图3G2所示,在空白横线处应填( ).
图3G2
A.x%2!=0 B.x/2==0 C.x==x∗∗2 D.x//2==0
47
13如图3G3所示算法,分别输入学生成绩score和等级grade:57和“C”,70和“C+”时,输出
结果分别是( ).
图3G3
A.57、70 B.“请努力”、“请努力” C.57、“请努力” D.“请努力”、70
14流程图3G4描述的算法执行结果是( ).
图3G4
A.15 B.20 C.25 D.36
15流程图3G5描述的算法执行结果是( ).
图3G5
A.75311357 B.11335577 C.30 D.32
48
16如图3G6所示算法,当输入n为2、4、-6、-7、13、21、50、-8、0数字时,输出结果是( ).
图3G6
A.3 5 B.4 5 C.5 3 D.3 4
17流程图3G7描述的算法执行结果是( ).
图3G7
A.9 B.10 C.90 D.100
49
18流程图3G8描述的算法输出的是( )种图形.
图3G8
A. B.
C. D.
19如图3G9所示算法,描述的九九乘法表,要实现此功能,则流程图中的划线处正确的内容是
.(print(‘{}∗{}={}\t’.format(k,i,i∗k),end=‘’)格式化输出且不换行)
50
图3G9
20哥哥考弟弟一道数学题,题目内容如下:“有一筐鸡蛋,2个2个数多1个,3个3个数多2
个,4个4个数多3个,5个5个数正好数完,问这筐鸡蛋最少是几个?”流程图3G10是解
决此问题的算法,则空白横线处应填 .
图3G10
51
二、Python控制流程
Python的控制流程,由顺序结构、分支结构、循环结构三种结构构成,控制语句根据表达
式控制程序的流程.
1Python顺序结构
例1 顺序结构流程图3G11与Python编码实现.
图3G11
a=int(input(“a=:”))
b=int(input(“b=:”))
a=a+b
b=a-b
a=a-b
print(a)
print(b)
2Python分支结构
(1)在条件不成立时,不需执行任何语句,即单分支结构:
if条件表达式:
条件成立执行的语句块
Python程序要求代码全部使用缩进来分层,否则将导致程序错误,无法运行.Python编
程规范中指出:缩进最好采用空格形式,每一层向右缩进4个空格,在同一段代码中不能混用
Tab键和空格键.
例2 单分支结构流程图3G12与Python编码实现.
图3G12
a=int(input(“a=:”))
b=int(input(“b=:”))
ifa!=0:
x=b/a
print(x)
52
(2)针对满足条件或不满足条件时分别执行的语句,即if语句的双分支结构:
①双分支.
if条件表达式:
条件成立执行的语句块
else:
条件不成立执行的语句块
例3 双分支结构流程图3G13与Python编码实现.
图3G13
t=int(input(“t=:”))
ift<=20:
y=t-2
else:
y=0.6∗t-4
print(y)
②多分支.
if条件表达式:
条件成立执行的语句块
elif条件表达式:
条件成立执行的语句块
else:
条件不成立执行的语句块
例4 多分支结构流程图3G14与Python编码实现.
图3G14
t=int(input(“t=:”))
w=int(input(“w=:”))
ifw>9:
p=5∗t
elifw <=5:
p=4∗t
else:
p=3∗t
print(p)
53
3Python循环结构
在循环结构中,通过判断条件,来确定部分语句是否需要被重复执行,当条件为真时,循环
被执行,直到条件为假结束循环.在Python语言中,循环结构主要通过 while语句和for语句
来实现.
(1)while循环.
while条件表达式:
语句块(即循环体)
while语句中的条件表达式为循环条件,语句块即为执行的循环体,表达式后面的冒号不
能省略.
while语句实现循环时,要注意避免出现死循环.一般在循环中要有能够使循环条件表达
式的值发生改变的语句,使循环条件表达式的值从真变为假,从而结束循环.while循环语句
既可以实现不确定次数的循环,也可以实现确定次数的循环.
(2)for循环.
for循环变量in序列:
语句块(即循环体)
for循环语句每次从序列中取出一个元素赋值给循环变量,循环变量的初值为序列中的第
一个元素值,依次访问完序列中所有元素后循环结束,序号后面的冒号不能省略.
for语句中的循环次数由序列中元素的个数决定,通常用于确定循环次数的问题求解,对
于不能确定循环次数的情况,则需要使用 while语句.
(3)range()函数.
range()函数返回一个等差整数序列,格式为range(start,stop,step),该函数生成一个包
含起始值但不包含终值的序列,起始值和步长可以省略,默认为0或1,range()函数示例见表
3G7.
表3G7 range()函数示例
range()函数示例 描述
range(3) 生成起始值为0(默认),终值为2,步长为1的默认序列[0,1,2]
range(1,8) 生成起始值为1,终值为7,步长为1的默认序列[1,2,3,4,5,6,7]
range(1,11,2) 生成起始值为1,终值为10,步长为2的默认序列[1,3,5,7,9]
range(10,-6,-2) 生成起始值为10,终值为-5,步长为-2的默认序列[10,8,6,4,2,0,-2,-4]
54
foriinrange(3):
print(i)
输出:0
1
2
结果不包含3,所有的数字都在0到2之间.
foriinrange(1,8):
print(i)
输出:1到7,不包含8的所有整数.
foriinrange(1,11,2):
print(i)
输出:1、3、5、7、9,每次增加2的所有整数.
foriinrange(10,-6,-2):
print(i)
输出:10、8、6、4、2、0、-2、-4,每次递减2,step等于-2.
break语句用来终止循环语句,提前停止循环,从循环体中退出.
continue语句结束本次循环,下一次循环继续执行,并不终止整个循环的执行.
例5 当型循环结构流程图3G15与Python编码实现.
图3G15
i=1
a=1
b=1
whilei<=10:
c=a+b
a=b
b=c
i=i+1
print(c)
先判断i<=10是否成立,若不成立,则退出循环;若成立,则执行循环体语句,执行完循
环体;再去判断i<=10是否条件成立.
55
例6 当型循环结构流程图3G16对列表进行操作与Python编码实现.
图3G16
list=[]
i=1
n=10
whilei<=n:
x=float(input(“x=:”))
list.append(x)
i=i+2
print(list)
例7 直到型循环结构流程图3G17与Python编码实现.
图3G17
s=0
t=1
whileTrue:
s=t∗t-s
t=t+2
ifs>=10:
break
w=s+t
print(w)
先执行循环体,在判断循环条件是否成立,若成立,则跳出循环.
例8 for循环流程图3G18与Python编码实现.
图3G18
s=0
foriinrange(1,51):
s=s+i
print(s)
56
例9 循环结构流程图3G19输出list里面所有元素的两种方式.
图3G19
list=[1,2,3,4,5]
foriinlist:
print(i)
list=[1,2,3,4,5]
i=0
n=len(list)
whilei<n:
k=list[i]
print(k)
i=i+1
例3G5 在横线处填入表达式完成如下Python程序,求0-100所有偶数的和.
sum=0
foriin :
sum=sum +i
print(sum)
分析与解答:根据题意求0-100之间的偶数和,从2开始,每次递增2,直到增加到100,
故用range()函数实现:range(0,101,2).即答案是range(0,101,2).
例3G6 (上海市信息科技学业水平考试题)运行以下Python程序.
s=0
t=l
whilet<=20:
x=int(input(“pleaseinputanumber:”))
s=s+x
t=t+2
print( )
s=0
foriinrange(1,11):
x=int(input(“pleaseinputanumber:”))
s=s+x
print(s/i)
57
为使两段程序能实现相同的功能,在括号中横线处填入的内容是( ).
A.s/(t-1) B.s/(t-10) C.s/(t-11) D.s/9
分析与解答:根据题意,while循环中t初值为1,每次递增2,10次循环结束后值为21;for
循环10次,最后i的值为10.即答案是C.
例3G7 编写Python程序,该程序要实现的功能如下:求小于4000且满足千位和百位两
个数字之和与十位和个位两个数字之和相等的所有四位数之和.
s=0
x=1000
whilex<=3999:
a=int(x/1000)
b=int(x/100)%10
c=int(x/10)%10
d=x%10
ifa+b==c+d:
s=s+x
x=x+1
print(s)
分析与解答:根据题意,四位数x可以列举的范围为1000~3999;对列举的每一个x进行
数字拆分,得到的千位数字a、百位数字b、十位数字c和个位数字d;分别为a=int(x/1000),
b=int(x/100)%10,c=int(x/10)%10,d=x%10.检验的条件为a+b==c+d,程序实现
如上.
例3G8 求1/2+2/3+3/4+4/5+ 前30项之和,运用Python程序设计语言编写
完整代码.
方法一:
x=int(input(“pleaseinputnumberx:”))
n=1
sum=0
whilen<=x:
sum=sum +n/(n+l)
n=n+1
print(sum)
58
方法二:
x=int(input(“pleaseinputnumberx:”))
sum=0
forninrange(1,x+1):
sum=sum +n/(n+l)
print(sum)
分析与解答:根据分数中分子分母出现的规律可知,分子从1开始每次递增1,分母从2
开始同样每次递增1,故得到其规律表达式n/(n+1),程序实现如上.
1运行以下Python程序,结果是( ).
S=0
P=1
whileP<=10:
ifP%3==0:
S=S+1
P=P+2
print(S)
A.2 B.3 C.4 D.5
2运行以下Python程序,结果是 .
sum=0
fornuminrange(8):
sum=sum +num
print(sum)
3运行以下Python程序,运行后i的值为 ,sum 的值为 .
sum=0
foriinrange(1,21,3):
sum=sum +i
print(sum)
4运行以下Python程序,结果是 .
list1=['a','b','c','d','e']
list2=['f','g','h','i','j']
i=1
whilei<=3:
i=i+1
print(list1[i]+list2[i])
59
5列表a中依次存放了8个数据,分别是[14,12,23,42,35,60,37,30],使用如下Python程
序要找出小于25的数据的个数,选择恰当的表达式填入横线处( ).
a=[14,12,23,42,35,60,37,30]
k=0
m=25
foriinrange(0,8):
if :
k=k+1
print(k)
A.a[i]>k B.a[i]> m C.a[i]<k D.a[i]< m
6运行以下Python程序,执行后 m 的值是( ).
list3=[3,7,4,8,2,5,10]
n=len(list3)
m=list3[0]
foriinrange(n):
iflist3[i]> m:
m=list3[i]
print(m)
A.7 B.2 C.8 D.10
7水果商店搞促销活动,苹果3元/斤,梨2元/斤.某工地预算100元犒赏工人辛苦工作,购
买40斤水果,苹果和梨各需要购买多少? 如流程图3G20所示,空白处填入合适表达式为
,并完成Python编码.
图3G20
60
8如图3G21所示,流程图输出s=10,则在空白处填入合适表达式为 ,并完成Python
编码.
图3G21
9以下程序的功能如下:计算表达式1+3+9+27+81++2187的值,则程序中画线处的
表达式应为 .
t=0
i=1
whilei<=2187:
t=t+i
print(t)
10下面程序若用于计算s=1! +2! +3! +4! +5! +6! +7! +8! +9! +10!,则程
序中画线处的表达式应为 .
s=0
t=1
foriinrange(1,11):
s=s+t
print(s)
61
11计算表达式1∗2+3∗4+5∗6+7∗8+9∗10的值,则程序中画线处的表达式应为
.
i=1
s=0
whilei<=5:
i=i+1
print(s)
12编写Python程序,本程序要求完成的功能如下:输入年份判断是否为闰年? (闰年公式,
四年一闰年,百年不闰年,四百年再闰年)
13编写Python程序,本程序要求完成的功能如下:输入整数a,b,c,求一元二次方程ax2+
bx+c=0(a≠0)的实数根.
14编写Python程序,本程序要求完成的功能如下:计算 s=(n-1)/81 + (n-1)/82 +
(n-1)/83+ (n-1)/84+ + (n-1)/n的值(n是大于81的正整数),若输入n值
为120.
62
15编写Python程序,本程序要求完成的功能如下:计算s=10/101+10/102+10/103+
10/104+ +10/n的值(n的值由输入决定为120).
16编写Python程序,本程序要求完成的功能如下:计算s的值,即
s=1+
2
1+2+
3
1+2+3+
4
1+2+3+4+
+
n
1+2+3++n
17编写Python程序,本程序要求完成的功能如下:一个三位正整数,它的百位数小于十位
数,且十位数小于个位数,例如:123,试求所有满足上述条件的三位正整数的个数.
152
参 考 答 案
第一章 数据与大数据
巩固练习
1C 2.C 3.C 4.A 5.D 6.D 7.D 8.D 9.C 10.C
11B 12.A 13.A 14.B 15.B 16.D 17.C 18.C 19.D 20.C
21A 22.C 23.B 24.C 25.C 26.D 27.C 28.B 29.C 30.A
31A 32.D 33.D 34.D 35.D 36.C 37.D 38.C 39.A 40.B
41C 42.C 43.C 44.C 45.B 46.A 47.A 48.A 49.A 50.A
51A 52.D 53.A 54.A 55.1/0 56.8000 57.FE07 58.Hit
第二章 算法与程序设计
巩固练习
1C 2.A 3.B 4.B 5.C 6.24 7.21 8.4 9.A 10.C
11A 12.B 13.A 14.B 15.A 16.B 17.A 18.C 19.B 20.C
拓展提高
155 2.-5 3.s=s+b 4.a=a-b 5.a<=n 6.i>=n
7i<=2 8.h=0.8h 9.1/(i∗(i+1)) 10.c=a+b 11.c=a∗b 12.t/2n
第三章 Python语言程序设计
巩固练习
1A 2.D 3.A 4.C 5.B 6.B 7.D 8.D 9.D 10.B 11.D 12.A
13D 14.C 15.D 16.C 17.C 18.A 19.k<=9/i<=k 20.notp
巩固练习
1A 2.28 3.19/70 4.ej 5.D 6.D
73∗apple+2∗pear==100
完整Python程序:
forappleinrange(0,34):
pear=40-apple
if3∗apple+2∗pear==100:
print(apple)
print(pear)
153
8i%3==0
完整Python程序:
s=0
foriinrange(1,31):
ifi%3==0:
s=s+1
print(s)
9i=i∗3
10t=t∗i
11s=s+(2∗i-1)∗(2∗i)
12year=int(input("pleaseinputayearnumber:"))
if(year%4==0andyear%100!=0):
print(“Thisyearisaleap”)
elif(year%400==0):
print(“Thisyearisaleap”)
else:
print(“Thisyearisnotaleap”)
13importmath
a=int(input("pleaseinputnumbera!=0,a=:")
b=int(input("pleaseinputnumberb=:")
c=int(input("pleaseinputnumberc=:")
d=b∗b-4∗a∗c
ifd>=0:
x1=(-b+math.sqrt(d))/(2∗a)
x2=(-b-math.sqrt(d))/(2∗a)
print(x1)
print(x2)
else:
print(“无解!”)
14n=int(input("pleaseinputanumber:"))
forainrange(81,n+1):
s=s+(n-1)/a
print(s)
154
15s=0
n=int(input("pleaseinputanumber:"))
foriinrange(101,n+1):
s=s+10/i
print(s)
16n=int(input(“pleaseinputanumber:”))
s=0
t=0
foriinrange(1,n):
t=t+i
s=s+i/t
print(s)
17s=0
forxinrange(100,1000):
P1=int(x/100)
P2=int(x/10)%10
P3=x%10
ifP1<P2andP2< P3:
s=s+1
print(s)
第四章 常用算法与实例
巩固练习
1A 2.C 3.C 4.A 5.B 6.A 7.C 8.B 9.A 10.B 11.C 12.B 13.80/6
14x=100
a∗∗3+b∗∗3+c∗∗3==x
完整Python程序:
x=100
whilex<=999:
a=int(x/100)
b=int((x%100)/10)
c=int(x%100)
ifa∗∗3+b∗∗3+c∗∗3==x: