必修一第四章程序设计基础章末复习习题(一) 
一、选择题(本大题共11小题) 
for i in range(2,11,2): 
print(i,end=““) 
上面程序运行结果是(  ) 
A. 2?4?6?8?9 B. 2?3?4?5?6 C. 2?4?6?8?10 
D. 2?4?5?8?10 E. 2?4?6?8?10 
c=0 
for i in range(1,26): 
If i%2==0: 
C=c+1 
Print(c) 
上面程序运行结果是(  ) 
 A. 12 B. 13 C. 14 D. 15 
sum=0 
for i in range(1,11): 
sum+=i 
print(“the result:”,sum) 
上面程序运行结果是(  ) 
 A. 53 B. 54 C. 55 D. 56 
以下python程序段运行后,y的值是(  ) 
x=3 
if x>3: 
y=2*x 
else: 
y=3*x+1 
print(y) 
 A. 10 B. 5 C. 25 D. 26 
有python程序如下: 
S=input(  ) 
print(S*3) 
运行后通过键盘输入6,则运算结果是(  ) 
 A. 666 B. SSS C. 18 D. S*3 
以下python程序段运行后,s的值是(  ) 
n=0 
s=0 
while s<=10: 
n=n+3 
s=s+n 
print (s) 
 A. 0 B. 3 C. 18 D. 30 
在编写python程序时缩进的作用是()。 
 A. 让程序更美观 B. 只在for循环中使用 
C. 只在if语句中使用 D. 用来界定代码块 
下列与数学表达式对应的python表达式,正确的是(??? )。 
A. ( - b + math. sqrt (b * b – 4 * a * c)) /a * a 
B. - b + math. sqrt (b * b – 4 * a * c) /2*a 
C. ( -b + math. sqrt (b * 2 – 4 * a * c)) /(2 * a) 
D. ( -b + math. sqrt ( b * b – 4 * a * c)) / (2 * a) 
在下面的python程序中,变量b和c的值为()。 
 A. b为6,c为6 B. b为6,c为8 C. b为8,c为8 D. b为8,c为6 
运行Python程序的过程中出现了如下图错误提示,原因是()。 
A. 变量名51study太长 
B. 应该写成"chinese" =51study 
C. “chinese”应该写成“china?s” 
D. 变量名51study不符合python语言规范,变量名不能以数字开头 
以下python程序段运行后,x和st的值分别是(  ) 
x=123+678 
st=“123“+“678“ 
 A. 123678“123678“ B. 123678“801“ 
C. 801“123678“ D. 801“801“ 
 二、非选择题(本大题共3小题) 
利用for循环,分别计算1--100中奇数的和、偶数的和。 
sum1=0 
sum2=0 
for i in range(1,101): 
if i%2==0: 
sum1+=i 
else: 
sum2+=i 
print(sum1,sum2) 
若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界面如图所示: 
403415536576000实现上述功能的程序如下,请在划线处填入合适的代码。 
defisprime(x): 
foriinrange(2,x): 
if ① ______ : 
returnFalse 
returnTrue 
n=int(input(“请输入一个正整数n:”)) 
c=0 
k=3 
whilek<=n-2: 
ifisprime(k)and ② ______ : 
print(k,k+2) 
③ ______ 
k=k+1 
print(“共有”+str(c)+“对双胞胎数”) 
编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。 
提示:考虑使用range(#begin,#end) 
l=[] 
for i in range(2000,3201): 
if (i%7==0)and (i%5!=0): 
l.append(str(i)) 
print (','.join(1)) 
答案和解析 
1.【答案】C 
【解析】for?i?in?range(2,11,2):i的取值范围从2----10步长为2,所以取值为 
2?4?6?8?10 
故选:C。 
2.【答案】A 
【解析】c初值为0,i值range(1,26)即1,2,3…25。循环体内如果i是偶数,则把c加1,即统计偶数个数。共12个。 故选:A。 
range(  )函数是前闭后开区间,range(1,26)即1,2,3…25。 
i%2==0,i对2 取余等于0即i为偶数。 
本题考查range函数和循环结构。 
3.【答案】C 
【解析】sum初值为0。for循环,i值为1到10的正整数,循环体为sum+=i即计算所有i相加之和,等于55. 故选:C。range(  )函数是前闭后开区间,range(1,11)表示[1,2,3,4,5,6,7,8,9,10]。 
本题考查python循环结构。 
4.【答案】A 
【解析】已知x=3? 判断?x>3不成立:执行else:y=3*x+1=9+1=10 故选:A。 
本题考查的python中的选择语句。Python中条件选择语句的关键字为:if、elif、else这三个。其中elif和else语句块是可选的。对于if和elif只有condition为True时,该分支语句才执行,只有当if和所有的elif的condition都为False时,才执行else分支。简单的选择语句的考查,难度不大。 
5.【答案】A 
【解析】input(  )函数是通过键盘输入,默认将其以字符类型返回。故s=“6“,输出“s*3”=“666“。 
故选:A。 
input(  )函数是通过键盘输入,默认将其以字符类型返回。本题考查Python程序的执行。 
6.【答案】C 
【解析】n=0,s=0,循环条件s<=10,则循环结束时n=0+3+3+3=9,s=0+3+6+9=18。所以程序执行后,S值为18。 故选:C。 
n值分别为0、3、6、9、…s为各个n之和,循环条件s小于等于10,注意加到6时s等于9符合条件还可以循环一次,所以最后为3、6、9的和等于18。本题主要考查Python中的条件循环。 
7.【答案】D 
【解析】在编写python程序时缩进,使得代码非常整齐规范,赏心悦目,提高了可读性,因此作用是用来界定代码块。 
?? 
8.【答案】D 
sqrt()求平方根,乘法运算符为“*”,除法为“/”,嵌套函数均使用小括号。表示为( -b + math. sqrt ( b * b – 4 * a * c)) / (2 * a)。 
??????故选D。 
9.【答案】C 
针对 a=b=c=8 这种赋值方式,其实是 a=8, b=a, c=a,因此c=8,b=8. 
???????故选C。 
10.【答案】D 
报错内容是“语法错误:无效语法”,变量名51study,数字不能作为变量名的开头,故D项正确。 
???????故选D。 
11.【答案】C 【解析】x=123+678=801 
st=“123“+“678“=“123678”中“+”表示字符串的连故选:C。 
本题考查的知识点是python中能够直接处理的数据类型。Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等;浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10^9和12.3x10^8是相等的;字符串是以''或''括起来的任意文本,比如'abc','xyz'等等。请注意,''或''本身只是一种表示方式,不是字符串的一部分;布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。简单的能够处理的数据类型,几种数据类型都需要掌握。 
12.【答案】代码解析注释如下: 
sum1=0#存储偶数和 
sum2=0#存储奇数和 
for?i?in?range(1,101):#分别计算【1,100】中的偶数和、奇数和 
??? if?i%2==0:#若i是偶数,则把偶数加到sum1中 
???????sum1+=i 
??? else:#若i是奇数,则把奇数加到sum2中 
?????? sum2+=i 
print(sum1,sum2)#输出结果,偶数和sum1的值为2550,奇数和sum2的值为2500 
【解析】本题主要考查Python的循环结构熟练掌握python的循环结构 
13.【答案】x%i==0或x//==x/i,isprime(k+2)或isprime(k+2)==True,c=c+1或c+=1 
【解析】(1)isprime(x)函数判断x是不是素数。此处通过for循环判断(用x依次除i,看能不能整除,i的范围从2到x),故填x%i==0或x//==x/i。(2)此处判断相差2的两个数是不是素数,若是,则输出这两个数,故此处填isprime(k+2)或isprime(k+2)==True。(3)c用来统计双胞胎数的对数,若满足是双胞胎数的条件,故此处填c=c+1或c+=1。 
故答案为:(1)x%i==0或x//==x/i(2)isprime(k+2)或isprime(k+2)==True(3)c=c+1或c+=1 
先理解程序。程序中先定义了isprime(x)函数(判断x是否是素数),用for循环寻找是否有因数,用i来表示因数,第一个空就是填整除的意思,可以用求余为0,也可以用整除得数等于除的商。输出k和k+2则前面条件一定是,是双胞胎数,是素数,直接调用isprime(x)函数即可。最后print(  )语句是输出共有c对双胞胎数,可见c表示其对数。 
本题考查Python程序的执行和调试。 
14. 【答案】join函数连接字符串数组,将字符串、元组、列表中的元素以指定的字符连接生成一个新的字符串,根据题干要求可以使用for循环以及列表,可以使用join函数按逗号分隔格式打印即可。 
【解析】本题考查的编写程序。程序的编写难度较大,使用range(  )定义i的取值范围,然后利用if判断语句可被7整除,但不是5的倍数,最后利用join函数打印出结果即可。 
题目难度稍大,根据要求编写程序。