必修一第四章程序设计基础章末复习习题(一)
一、选择题(本大题共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函数打印出结果即可。
题目难度稍大,根据要求编写程序。