内容正文:
4.1 程序设计语言的基础知识
一、选择题
1.下列可作为Python变量名的是( )
A.ab-3 B.space line C._apple D.while
2.下列不是常量的是( )
A.0.25
B.abc
C.Flase
D.“abb”
3.下列选项中可以作为合法变量名的是( )
A._while B.f(x) C.y-4 D.def
4.函数abs(-16)的值是( )
A.-16 B.0 C.16 D.4
5.在Python中,不合法的语句是( )
A.x=y=z=2 B.x=(y=z+2) C.x+=y D.x, y=y, x
6.Python语言自带的IDLE环境的退出命令是( )
A.Esc B.close C.回车键 D.exit
7.在Python中,设a=5,b=8,表达式not(a-b)>=0值是( )
A.1 B.-1 C.True D.False
8.小明去网吧上网,普通包间3元一小时,高级包间4元一小时,豪华包间6元一小时,他决定用函数计算上网费用,如下:
1 def cost(hour, style):
2 if style=="普通":
3 return hour*3
4 elif style=="高级":
5 return hour*4
6 elif style=="豪华":
7 return hour*6
8 else:
9 return
10
11
函数中的两个参数分别对应的是_________、_________,豪华包间上网2小时的费用是( )
A.上网时长 包间类型 12 B.包间类型 上网时长 12
C.上网时长 包间类型 8 D.包间类型 上网时长 8
9.下列程序:
x=5
y=7
z=x
x=y
y=z
结果x=?y=?( )
A.5 7 B.7 5 C.5 5 D.7 7
10.有如下Python程序:
a=[ ...... ]#初始值参见下面的描述
def f (head):
pre, cur=-1, head
while cur!=-1:
t=a[cur][1]
a[cur][1]=pre
pre, cur=cur, t
return pre
n, h=len (a), 0
p=f (h)
for i in range (n):
print (a[p][0],end='')
p=a[p][1]
若列表a取下面4组数据,问有几组数据能满足程序运行后输出为'12345'( )
a=[[1,1],[2,2],[3,3],[4,4],[5,-1]]
a=[[5,1],[4,2],[3,3],[2,4],[1,-1]]
a=[[5,3],[1,-1],[2,1],[4,4],[3,2]]
a=[[3,2],[1,-1],[2,1],[5,-1],[4,3]]
A.1 B.2 C.3 D.4
11.有如下 Python程序段:
s1="ABC";s2="PYATBHONC"
i=0;j=0;s3=""
while i< len(s1) and j< len(s2):
if s1[i]==s2[j]:
i+=1
else:
s3+=s2[j]
j+=1
执行该程序段后,变量s3的值是( )
A.PYTHON B.PYTO C.PYAHO D.PYT0N
12.如果函数int(X)表示取出X的整数部分,则int(68/10)的值为( )。
A.5 B.6 C.7 D.8
13.Python 表达式 abs(−9) ∗∗ 2//4%3 ∗ int(4.0) ∗∗ 0.5的值是( )
A.4 B.2√2 C.4.0 D.−2√2
14.在Python中,能正确表示条件“x小于-3,或大于等于3”的表达式是( )
A.x>-3 and x<=3 B.x>-3 or x<=3 C.x<-3 or x>=3 D.x<-3或x>=3
15.Python中,用于表示小数的数据类型是( )
A.int B.float C.str D.list
16.表达式 30+2**5//3-2 的值是( )。
A.30 B.32 C.38 D.64
二、填空题
17.Python 标准库 math 中用来计算平方根的函数是( ),取大于等于x的最小的整数值函数是( ),求绝对值的函数是( )。
18.float():根据一个字符串或整数创建一个新的浮点数 ,那么,int()会根据一个字符串或浮点数创建一个新的 ,str()会根据一个数创建一个新的 。
19.int(2.9)的值是 ,17//2的值是 。
20.小申编写了run.py文件用于实现登录模块的业务逻辑。请协助小申把左侧内容拖动至右侧对应的虚线框中,将程序编写完整。
(1)处对应的字母是
(2)处对应的字母是
21.阅读下列Python程序,写出运行结果
a=[5,2,8,7,3] #创建列表,各元素用逗号隔开,放在方括号内
a[0]=8 #修改列表第一个元素的值为8,注意列表的索引号
del a[1] #删除列表第二个元素
a.append(9) #在列表尾部添加一个数据元素9
print(a) #打印列表
运行结果: 。
22.Python语言中,当a=4,b=2时,not(a==b)的值是 。
三、判断题
23.Python程序 a=10;a=8;print(a)的运行结果是8。( )
24.NAME、name、Name、NaMe是不同的变量。( )
25.在 Python 语言中,可以对列表进行追加、删除、修改、查询操作。( )
26.Python语言的变量名要区分英文字母的大小写。( )
27.算术运算符中*、/的运算优先级高于//和%。( )
28.Python语言具有面向对象、代码规范、函数库丰富、动态数据类型等特点。( )
四、操作题
29.二分查找,完善下列程序代码。
x=int(input(“请输入要查找的1000以内的整数:”))
step=0
flag1=1
flag2=1000
while(flag1<=flag2):
mid=(flag1+flag2)//2
step=step+1
if mid>x:
elif mid<x:
else:
break
print(“查找的次数为:”,step)
30.尝试用python绘制y=x2-2x+1的图像。
import numpy as np
import matplotlib.pyplot as plt
_________ #x在(-10,10)区间中,每隔0.01取一个点
y=x2-2x+1
_________ #将点对连线,绘制图像
_________ #将绘制的窗口显示出来
将程序画线部分补充完整 , , 。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。可作为Python变量名的是_apple,故本题选C选项。
2.B
【详解】本题主要考查Python变量与常量。0.25、Flase、“abb”均是常量,abc是变量,故本题选B选项。
3.A
【详解】本题考查的是Python变量名。Python程序设计语言规定标识符由字母(A~Z,a~z)、数字(0~9)、下划线组成,并且其第一个字符必须是字母或下划线,而不能是数字,变量名不能为关键字。故本题应选A。
4.C
【详解】本题考查Python函数的应用。abs(x)是求绝对值函数,则abs(-16)的值是16。故答案为:C
5.B
【详解】本题主要考查Python赋值语句。结合选项,可知不合法的语句是x=(y=z+2),故本题选B选项。
6.D
【详解】本题主要考查Python基本知识。Python程序设计语言默认安装时,会有一个自带的集成开发环境IDLE。要创建Python程序文件,可以利用IDLE中的“文件“菜单。可使用exit()或quit()退出Python,因此D选项正确。
【点睛】
7.C
【详解】本题主要考查Python表达式的运算。在Python中,设a=5,b=8,a-b=-3,表达式(a-b)>=0值为False,则表达式not(a-b)>=0值是True,故本题选C选项。
8.A
【详解】本题主要考查Python分支结构。分析程序可知,hour和style分别表示上网时长和包间类型,豪华包间6元一小时,则豪华包间上网2小时的费用是12元,故本题选A选项。
9.B
【详解】本题考查程序设计中赋值语句。语句z=x,将x的值赋给z,得到z的值是5。语句x=y,将y的值赋给x,得到x的值是7。语句y=z,将z的值赋给y,得到y的值是5。所以x=7,y=5。B正确。故答案为:B。
10.C
【详解】本题主要考查Python程序的执行与调试。定义一个二维列表a,其中每个元素是一个包含两个元素的子列表,第一个元素代表节点的值,第二个元素代表指向下一个节点的索引。如在a=[[3,2],[1,-1],[2,1],[5,-1],[4,3]]中,[3,2]表示一个值为3的节点,它的下一个节点是索引为2的节点,即[2,1]。初始时,pre设为-1(表示没有前一个节点),cur设为传入的head参数(表示当前节点为头节点)。代码中使用while和for循环反转一个由二维列表a表示的链表,并打印出反转后链表的所有节点值。a=[[1,1],[2,2],[3,3],[4,4],[5,-1]]反转后输出结果为:54321;a=[[5,1],[4,2],[3,3],[2,4],[1,-1]]、a=[[5,3],[1,-1],[2,1],[4,4],[3,2]]、a=[[3,2],[1,-1],[2,1],[5,-1],[4,3]]反转输出结果都为:12345。故选:C。
11.A
【详解】本题考查Python程序。程序段的主要逻辑是:初始化字符串s1为"ABC",字符串s2为"PYATBHONC"。初始化两个索引变量i和j为0,以及一个空字符串s3。通过一个while循环,遍历s2中的每个字符,并检查是否与s1中的当前字符相等。如果s2[j]等于s1[i],则递增i以比较s1的下一个字符。如果s2[j]不等于s1[i],则将s2[j]添加到s3中。无论是否匹配,j始终递增以比较s2的下一个字符。通过上述逻辑,s3中将包含s2中所有未在s1中找到的字符。我们具体分析每次循环的执行情况:第一次循环:s1[0]='A',s2[0]='P',不匹配,s3='P',j增1。第二次循环:s1[0]='A',s2[1]='Y',不匹配,s3='PY',j增1。第三次循环:s1[0]='A',s2[2]='A',匹配,i增1,j增1。第四次循环:s1[1]='B',s2[3]='T',不匹配,s3='PYT',j增1。第五次循环:s1[1]='B',s2[4]='B',匹配,i增1,j增1。第六次循环:s1[2]='C',s2[5]='H',不匹配,s3='PYTH',j增1。第七次循环:s1[2]='C',s2[6]='O',不匹配,s3='PYTHO',j增1。第八次循环:s1[2]='C',s2[7]='N',不匹配,s3='PYTHON',j增1。第九次循环:s1[2]='C',s2[8]='C',匹配,i增1,j增1。循环结束后,s3的值为“PYTHON”。故答案为:A。
12.B
【详解】本题考查的是Python函数。/表示除,int(68/10)=int(6.8)=6。故本题应选B。
13.C
【详解】本题考查的是Python表达式。Python中数值类型的运算结果保留更精确的值,故abs(−9) ∗∗ 2//4%3 ∗ int(4.0) ∗∗ 0.5=4.0,选项C正确。
14.C
【详解】本题主要考查Python表达式的运算。and是“且”关系,or是“或”关系,故能正确表示条件“x小于-3,或大于等于3”的表达式是x<-3 or x>=3,故本题选C选项。
15.B
【详解】本题考查的是Python数据类型。int是整型表示整数数据,float是浮点型可以表示小数数据,str是字符串类型,list是列表。故本题应选B。
16.C
【详解】本题考查的是Python表达式。Python中运算优先级:**>//。故 30+2**5//3-2 =30+32//3-2=30+10-2=38。选项C正确。
17. sqrt() ceil() fabs()
【详解】本题主要考查Python函数。Python 标准库 math 中用来计算平方根的函数是sqrt(),取大于等于x的最小的整数值函数是ceil(),求绝对值的函数是fabs()。
18. 小数 整数 字符串
【详解】本题主要考查Python数据类型。float():根据一个字符串或整数创建一个新的浮点数小数,那么,int()会根据一个字符串或浮点数创建一个新的整数,str()会根据一个数创建一个新的字符串。
19. 2 8
【详解】本题考查Python表达式的运算。int() 函数用于将一个字符串或数字转换为整型。因此int(2.9)=2;//是整除运算符,因此17//2=8。
20. B A
【详解】本题主要考查Flask框架的应用。导入模块使用import关键词,(1)处填import sqlite3。(2)处创建应用,填app=Flask(_name_)。
21.[8,8,7,3,9]
【详解】本题考查的是Python列表。初始列表a=[5,2,8,7,3],依据程序后的注释,可知运行结果:[8,8,7,3,9]。
22.True
【详解】本题考查的是Python表达式。当a=4,b=2时,a==b值为:False,not取反,故not(a==b)的值是True。
23.正确
【详解】本题主要考查Python程序的执行。先将10赋值给a,再将8赋值给a,此时a的值变为8,运算结果为8,故表述正确。
24.正确
【详解】本题考查Python变量的描述。Python变量区分字母的大小写,故表述正确。
25.正确
【详解】本题考查Python列表相关操作。列表是一个有序且可更改的集合。在Python中,列表用方括号表示。列表里面的内容可以是任意类型,可重复。可以对列表进行的操作有:向列表添加数据;删减列表中数据;查找元素;修改元素等。故本题答案是:正确。
26.正确
【详解】本题考查Python。Python语言的变量名是区分英文字母大小写的,这意味着在Python中,变量名var和Var被视为两个不同的变量。故说法正确。
27.错误
【详解】本题考查的是Python算术符。在Python中算术运算符*、/、//和%运算优先级一样,故题干中的说法是错误的。
28.正确
【详解】本题考查的是Python。Python语言具有面向对象、代码规范、函数库丰富、动态数据类型等特点。说法正确。
29. flag2=mid-1 flag1=mid+1
【详解】本题主要考查二分查找算法及Python程序实现。①x是需要查找的数,当mid>x时,则说明需要查找的数在左边,需要更新flag2=mid-1,故此处填flag2=mid-1。②当mid<x,则说明需要查找的数在右边,需要更新flag1=mid+1,故此处填flag1=mid+1。
30. x=np.arange(-10,10,0.01) plt.plot(x,y) plt.show()
【详解】本题考查Python程序。
(1)这里使用NumPy库的np.arange(-10, 10, 0.01)生成一个从-10到10的数组,步长为0.01。这样可以获得足够密集的x坐标点,以便绘制平滑的函数图像。故答案为:x=np.arange(-10,10,0.01)。
(2)plt.plot(x, y)将生成的x和对应的y坐标点连线,形成函数的图像。这一步实际上是在绘制二次函数y=x2-2x+1的图像。故答案为:plt.plot(x,y)。
(3)plt.show()用于显示绘制的图像窗口。在使用Matplotlib进行图形绘制时,最后需要使用plt.show()来展示图像。如果省略这一步,图像将不会显示出来。故答案为:plt.show()。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$