资源简介 必修一第四章程序设计基础章末复习习题(一) 一、选择题(本大题共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函数打印出结果即可。 题目难度稍大,根据要求编写程序。 展开更多...... 收起↑ 资源预览