内容正文:
第三章 算法的程序实现
一、选择题
1.在Python语言中,运行以下程序段后,显示的结果是( )
a=12
b=2
a=a+b
print(a%b)
A.12 B.0 C.14 D.2
2.在Python中,如何计算一个数字的平方( )
A.num * 2 B.num ** 2 C.num ∧ 2 D.num sqrt
3.以下程序段,若输入10,则输出结果是( )
x = float(input("请输入短跑成绩:"))
if x<=7.3:
print("优秀")
elif x <= 7.5:
print("良好")
elif x <= 9.5:
print("及格")
else:
print("不合格")
A.优秀 B.良好 C.及格 D.不合格
4.计算表达式16%3+3**2//2的结果是( )
A.2 B.4 C.5 D.3
5.python表达式519% 10 * 10+519 // 10的结果为( )
A.70 B.99 C.141 D.51
6.下列代码可以让pygame游戏窗口持续显示的是( )
A.使用无限循环让代码持续运行
B.使用pygame库让代码持续运行
C.不使用sys.exit()退出游戏
D.使用turtle.done()保留窗口显示
7.下列表达式中,值为True的是( )
A.15%3**4<=6 B."a3b"[0:2]<"a3B" C.abs(int(-4.6))>9//2 D.len("py-thon")==6
8.若a=20,b=10,c=str(a)+str(b),则c的值是( )
A.30 B."30" C.2010 D."2010"
9.在Python语言中,已知L=[1,2,4,5],则sum(L)运行结果是( )
A.1 B.3 C.5 D.12
10.若在 Python 中运行以下程序时分别输入1和2,则输出的结果是( )
a=input("请输入:")
b=input("请输入:")
c=a+b
print(a+b)
A.3 B.12 C.21 D.出错
11.用计算机解决“求 100~999之间的水仙花数”问题的过程中,小明找到了解决方法并画出流程图,这属于( )
A.分析问题 B.设计算法 C.编写程序 D.调试程序
12.在 Python程序中,不能作为变量名的是( )
A.varl B. varl C.1var D.var 1
13.阅读下列Python程序段,程序输出结果应为( )
a,b,c=3,2,3
if a>b or a>c:
print(c)
if not(b>c):
print(c)
if c>a and c>b:
print(c)
A.两个3 B.一个3 C.三个3 D.没有任何输出
14.Python文件的后缀名是( )
A..py B..exe C..vfp D..doc
15.用计算机解决物质密度计算问题时经历以下四个阶段:
①编制计算机程序,用计算机进行处理
②设计“根据物质的质量与体积计算密度”的算法
③获取物质的质量与体积,找出其与物质密度的关系,建立计算模型
④调试运行程序,以便发现问题并进行修正上述阶段顺序排列的正确是( )
A.③②①④ B.③①②④
C.①②④③ D.①③④②
16.在Python语言中,运行以下代码,运行结果是( )
sum= 1
for j in range(1,5):
sum= sum *j
print(sum,j)
A.24,5 B.120, 5 C.24 ,4 D.120, 4
二、填空题
17.某超市举办年中促销活动,顾客一次性购买商品的金额若在500元以内(包括500元),打9折。若超过500元,打8折。其中x表示顾客购买商品的金额,y表示应付款。请编程计算应付款y。
x=float(input("请输入顾客购买商品的金额:"))
x<=500:
y=x*0.9
else:
y=x*0.8
print("应付款为:",y)
18.有如下 Python 程序段:
li=[["a",10],["b",20],["c",30]]
dic={}
for i in range(len(li)):
dic[li[i][0]]=li[i][1]
print(dic)
运行该段程序后,输出内容为
19.在编制计算机程序解决问题的过程中,学习小组经历了(1) 、(2) 、(3)编写程序 、 (4)分析问题 这些过程,请你为这些过程进行正确的排序 (提示:写出序号即可)。
20.小明在用Python写代码时,先给变量List赋值,在后面使用这个变量时写成了list。List和list 同一个变量。(选填:是/不是)。
21.已知a=2,b=1,以下Python程序段运行结束后,b的值是 。
三、判断题
22.在Python语言中,range(4,9)中元素的个数是4个。( )
23.程序总是施行操作于某些对象,这些对象通常称为数据。( )
24.在Python 中,Dic={1:"Mon", 2:"Tue",3:"Wed",4:"Thu",5:"Fri"},Dic[4]的值为"Thu"。( )
25.Python中提供了三种除法运算,分别是:/、//、%,他们在解决实际问题中各自发挥着不同的作用。判断整数s的奇偶性时,通常看其能否被2整除,可用表达式s//2的结果进行判断。( )
26.python 语言中的“=”与数学中的“=”含义是相同的。( )
四、操作题
27.在十进制中,整数1634是一个四位数,各个数位的4次幂之和为14+6+3++4*=1634,所以1634是十进制中的自幂数。由于1634是一个四位数,因此,我们称之为玫瑰数。
小李想找出所有的玫瑰数,编写Python程序代码如下:
list=[]
for i in range(10):
list.append(i**4)
for i in range(① ): #枚举所有的四位正整数
s=0;m=i
for j in range(4):
t=m%10
s=②
m=m//10
if③ :
print(i)
请在程序画线处填入合适代码。
28.考拉兹猜想(3*n+1猜想,奇偶归一猜想,冰雹猜想):对于每一个正整数,如果他是奇数,就对他乘以3,再加1,如果是偶数则对他除以2,所得数字继续判断步骤,最终都能得到1结束。
def collatz_conjecture(number):
while number != 1:
if① :
# 偶数
number /=②
print(number)
elif number % 2 ==③ :
# 奇数
number =④
print(number)
n=int(input("请输入任意一个正整数:"))
collatz_conjecture(⑤ )
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查Python基础。
a=12,b=2,则a=a+b=14。a%b,故a取余b为:14%2值为0。故正确答案为:选项B。
2.B
【详解】本题考查的是Python算术运算符。在Python中,*表示乘,**表示幂乘。故本题应选B。
3.D
【详解】本题考查Python分支结构的应用。输入x=10,满足else分支条件,因此输出结果是不及格。故选D。
4.C
【详解】本题考查Python运算符与表达式相关内容。本题涉及算术运算符运算优先级,其中指数运算>乘除、求余、整除>加减,因此16%3=1,在3**2//2中,先计算“**”,(**表述指数运算)然后计算“//”(//表示整除),3**2//2=9//2=4,所以16%3+3**2//2=5,故本题答案是C选项。
5.C
【详解】本题考查的是Python表达式。%表示求余,//表示整除,*表示乘,故519% 10 * 10+519 // 10=141。选C。
6.A
【详解】本题考查Python基础。
在pygame中,通常使用while循环来持续检查事件、更新游戏状态和绘制窗口。没有这个循环,游戏窗口在绘制一次后就会关闭。故可以使用无限循环让代码持续运行,故正确答案为:选项A。
7.B
【详解】本题考查的是Python表达式。15%3**4<=6→15%81<=6→15<=6→False,"a3b"[0:2]<"a3B"→"a3"<"a3B"→True,abs(int(-4.6))>9//2→4>4→False,len("py-thon")==6→7==6→False。故选B。
8.D
【详解】本题考查的是Python顺序结构。str是转换为字符类型,+在字符运算中是连接作用。a=20,b=10,c=str(a)+str(b)="2010",故选D。
9.D
【详解】本题考查的是Python函数。sum函数是求和。已知L=[1,2,4,5],则sum(L)运行结果是:1+2+4+5=12,选项D正确。
10.B
【详解】本题考查Python程序执行。a="1",b="2",c=a+b="12",因此输出结果是12。故选B。
11.B
【详解】本题考查计算机解决问题的步骤。计算机解决问题的基本过程一般包括以下几个步骤:
分析问题:了解问题的含义、目的和需求,明确问题的范围和限制,确定解决问题的目标和可行性。
设计算法:根据问题的特点和需求,设计出解决问题的算法,包括问题的分解、抽象和归纳等。
编写程序:使用编程语言实现算法,将问题转化为计算机可执行的形式。
调试运行程序:测试程序的正确性和稳定性,发现并修复潜在的错误和缺陷,确保程序能够正常运行。
小明找到了解决方法并画出流程图,这属于设计算法。故选B。
12.C
【详解】本题考查Python变量名相关内容。变量名由数字、字母和下划线组成,而且数字不能开头,不能包含特殊符号,不能是关键字。ABD选项可作变量名,C选项,数字开头,不符合规则。故本题答案是C选项。
13.A
【详解】本题考查Python程序。给定变量 a, b, c 的值为 3, 2, 3。 程序段中包含了三个条件语句,分别是: 如果a大于b或者a大于c,则输出c。 如果b不大于c,则输出c。 如果c大于a且c大于b,则输出c。 根据给定的变量值,我们可以逐个判断: 第一个条件不成立,因为a不大于b,也不大于c。 第二个条件成立,因为b不大于c,所以输出c。 第三个条件也成立,因为c大于a且c大于b,所以再输出c。 因此,程序输出结果为两个3。故答案为:A。
14.A
【详解】本题考查Python文件。Python文件的标准后缀名是.py。在Python编程中,源代码文件通常以.py为后缀名,这是因为Python解释器识别并执行这种格式的文件。故答案为:A。
15.A
【详解】本题考查计算机解决问题的步骤。计算机解决问题的一般过程:分析问题,建立模型→设计算法→编写代码→调试程序→得到结果,即③②①④。故选A。
16.C
【详解】本题考查的是Python循环语句。range(1,5)生成1、2、3、4序列数,故sum=1*1*2*3*4=24,j的终值是4。选项C正确。
17.if
【详解】本题考查Python程序。程序中需要根据输入的购买商品金额x来确定应付款y的计算方式。使用if语句进行条件判断,如果x<=500,则执行y=x*0.9;否则(即x>500),执行y=x*0.8。所以此处应填if,以实现根据不同条件计算应付款的功能。故答案为:if。
18. {'a': 10, 'b': 20, 'c': 30}
【详解】本题考查的是字典及循环语句。由dic[li[i][0]]=li[i][1]可知,程序的功能是将嵌套列表中,列表的第一个元素作为字典的键,第二个元素作为字典的值,li=[["a",10],["b",20],["c",30]],运行该段程序后,输出内容为: {'a': 10, 'b': 20, 'c': 30}。
19. 设计算法 调试运行程序 (4)(1)(3)(2)
【详解】本题考查计算机编程解决问题相关内容。利用计算机程序解决问题的一般过程是:分析问题、设计算法、编写程序、运行调试。题目内容中正确的顺序是(4)(1)(3)(2)。
20.不是
【详解】本题考查Python相关内容。Python变量的命名要符合标识符命名规则:由数字、字母、下划线组成;不能以数字开头;不能使用Python内置关键字;允许使用内置函数名作为变量名,但这会改变函数名的含义;严格区分大小写。List和list是两个不同变量。故本题答案是:不是。
21.4
【详解】本题考查的是Python循环语句。初始a=2,b=1。
a>=b成立,第一次循环,执行b=a*b=2*1=2;
a>=b成立,第二次循环,执行b=a*b=2*2=4;
a>=b不成立,跳出循环,故b的值是4。
22.错误
【详解】本题考查Python函数的应用。range(start, stop, [step]),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)。故使用函数range(4,9)返回的整数序列是4,5,6,7,8。题干说法错误。
23.正确
【详解】本题考查程序相关内容。程序是一组机器操作的指令或语句的序列,是算法的一种描述,程序总是施行操作于某些对象,这些对象通常称为数据。故本题答案是:正确。
24.正确
【详解】本题考查Python字典相关内容。字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值key=>value对用冒号“:”分割,每个键值对之间用逗号“,”分割,整个字典包括在花括号{}中。Dic[4]为字典Dic中的键,其键值为:"Thu"。故本题答案是:正确。
25.错误
【详解】本题考查Python运算符相关内容。在Python中,提供了三种不同的除法运算:/ 运算符用于执行普通的除法运算,返回浮点数结果。// 运算符执行整数除法,返回不大于结果的最大整数。% 运算符执行取模运算,返回除法的余数。判断整数s的奇偶性时,通常看其能否被2整除。可以使用表达式s%2来判断s的奇偶性,如果结果为0,则s为偶数,否则为奇数。另外,也可以使用s//2来获得整数除法的结果,但这并不能直接用于判断奇偶性。故本题答案为:错误。
26.错误
【详解】本题考查Python赋值运算符。Python程序语言中的“=”是赋值运算符,将“=”右边的表达式赋给左边,而数学上的“=”左右两边是等价的,故表述错误。
27. 1000,10000 s+list[t] s==i
【详解】本题考查Python基础。
①是四位数的取值范围。故正确答案为:1000,10000。
②是变量s用来累加各位数字的4次方。故正确答案为:s+list[t]。
③判定条件是变量i等于各位数字的4次方和。故正确答案为:s==i。
28. number%2==0 2 1 number*3+1 n
【详解】本题考查的是Python综合应用。①处,判断number的奇偶性,能被2整除就是偶数,故此处应为:number%2==0;②处,根据题意,偶数就对他除以2,故此处应为:2;③处,判断number的奇偶性,不能被2整除就是奇数,故此处应为:1;④处,根据题意,奇数就对他乘以3,再加1,故此处应为:number*3+1;⑤处,调用函数,对n进行考拉兹猜想,故此处应为:n。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$