试卷NCT-Python编程一级-模拟卷4(含答案练习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

试卷NCT-Python编程一级-模拟卷4(含答案练习
一、选择题
1.在Python中,用变量code存储学生的借书卡编码,例如:code=“NO.2020100502”,则变量code的数据类型应定义为()
A.布尔型B.整型C.字符串型D.浮点型2.在python 语言中,下列表达式中不是关系表达式()
A.m==n B.m>=n C.m or n D.m!=n 3.下列可以作为python变量名的是()
A.5x B.x-1 C.if D.x_1
4.已知列表list1=[88,22,34,89,67],则python表达式min(list1)的值为()A.22 B.88 C.89 D.67
5.在Python中,显示出信息x,并要求输入数据的是()。

A.abs(x) B.float(x) C.print(x) D.input(x) 6.下列Python程序运行后的输出结果是()。

s=0
for i in range(1,10):
s=s+i
print("s=",s)
A.s=35 B.s=45 C.s=55 D.s=65 7.Python中,保留字写法正确的是()
A.PRINT()
B.Print()
C.print()
D.Int()
8.在Python中,下面程序段的输出结果是()
x=9
Print(“x=”,x+1)
A.9 B.10 C.x=9 D.x= 10 9.在Python中,已知a=3,b=5,运行下列程序段后,a和b的值为
a = a * b
b = a // b
a = a // b
A.a=3 b=5 B.a=15 b=3 C.a=5 b=5 D.a=5 b=3 10.以下属于计算机高级语言的是()
A.Python B.自然语言C.汇编语言D.机器语言11.下列Python程序段
a = 0
b = 4
if b > a :
a = 3 * b
else:
a = 10
程序运行后,a的值是()
A.10 B.0 C.12 D.4
12.有如下Python程序,当程序运行后输入15000,则程序输出结果为()
A.2800 B.2800.0 C.12200 D.12200.0
13.下列有关于print命令的描述中,正确的是()
A.在打印机里打印相关的文本或者数字等
B.可以用来画图
C.在屏幕中输出相应的文本或者数字等
D.执行语句print(“python”,3.7)时会出错
14.下列python表达式结果最小的是()
A.2**3//3+8%2*3 B.5**2%3+7%2**2 C.1314//100%10 D.int("1"+"5")//3 15.小明想要通过编程来解决由昆明到景东锦屏耗时最短行程问题时,最核心的工作是()
A.设计出解决问题的算法B.设计出解决问题的PPT
C.编写出Python代码D.选择一种编程软件
16.Python的设计具有很强的可读性,相比其他语言具有的特色语法有以下选项,正确的是()。

A.交互式B.解释型C.面向对象D.服务端语言
17.在Python中,字符串运算符“+”的作用是把字符串进行连接,则表达式"20"+"19"+"20+19"的运算结果是( )
A.392019 B.201939 C.201920+19 D.3939
18.在Python Shell环境下,依次执行下列语句后,显示结果()。

data=[172,9,165,29,156,21]
max(data)
A.9 B.165 C.172 D.21
19.使用UltraEdit软件观察字符“2020,Python来袭”的内码,部分界面如图所示。

下列说法正确的是()
A.图中字符“2020,Python 来袭”共占15个字节,其中共有10个ASCII字符B.字符“10”的十六进制内码是3A
C.“CO B4”是“来”字在计算机内存储和处理时的交换码
D.小写字母p的二进制内码是1110000
20.下列Python程序段的运行结果是()
i=0
sum=0
while i<10:
if i%2==0:
sum+=i
i+=1
print(‘sum=’,sum)
A.sum=18 B.sum=20 C.sum=22 D.sum=30 21.运行下列Python程序,输出结果为True,则空白处应为()
a=15
b=46
if__________:
print(‘True’)
else:
print(‘Flase’)
A.a=b B.a>b C.a<b D.a==b 22.在Python中,下列循环结构用法错误的是()。

A.for i in range(20):B.for i in range(0,10):
C.for i in range(10,0,2): D.while s<50:
23.运行下列Python程序
i=1
s=1
while ①:
s=s*i
i+=2
print(s)
当输出结果为105时,则①处应填入()
A.i<=7 B.i<7 C.i>=7 D.i>7 24.以下是猜数游戏的 Python程序,请你补全代码:
请选择适当的代码填入程序①处。

()
A.for B.print C.elif D.input
25.在Python中,通过()函数查看字符的编码。

A.int( ) B.ord( ) C.chr( ) D.yolk( )
26.已知a=-2,b=10/3,则python表达式round(b,1)+abs(a)的值为()
A.1.3 B.5.33 C.5.4 D.5.3
27.Python的关系运算符中,用来表示不等于的符号是()
A.= = B.!= C.>= D.<=
28.关于python发布代码及安装使用代码,下列说法错误的是()
A.创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件
B.在DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件
C.已经构建发布的模块必须先导入程序,然后才能使用。

导入时只能使用语句“import mymodule”,不可以用“from mymodule import *”
D.下载安装,使用“python setup.py install”命令安装到你的Python本地副本中
29.下面的Python程序段运行后的输出结果是()
List=[‘10’,25,’猕猴桃’,9,65]
Print(List[3])
A.25 B.’猕猴桃’C.猕猴桃D.9
30.现有如下python程序段:
for i in range( 6 ):
p.append( int( random() * 10 ) + 1 )
for i in range( 2, 6 ):
if i % 2 == 1 and p[ i ] % 2 == 0:
p[ i ] += p[ i - 1]
elif i % 2 == 0 and p[ i ] % 2 == 1:
p[ i ] -= p[ i - 1]
执行该程序段后,在下列选项中,列表p中的元素值不可能的是()
A.1, 2, 3, 4, 7, 2
B.1, 2, 14, -9, -5, 8
C.6, 8, 1, 4, 6, 10
D.6, 4, 14, -7, 3, 8
二、程序填空
31.学校气象小组使用自动测温仪在校园测量了1月12日的气温,并利用Python绘制了这天的气温图,该图如下所示:
(1)在以上Python程序中,变量Y的数据类型是_________。

(2)在以上Python程序中,第8行横线处的代码是_________。

(3)通过观察,气温釆样间隔时间是_________个小时。

32.小明用Python语言写了一个货币兑换程序如下:
(1)参数currency指:____________。

(2)该程序用了哪一种算法结构:_____________。

(3)输出结果为“50$= 325.25人民币”。

则代码应该如何编写:____________。

33.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。

请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。

34.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程.
def convert(s):
m=0
le=len(s)
key=s[le-1]
if key=="B":
n=2
elif key=="D":
_______
else:
n=16
i=0
while i<=le-2:
c=s[le-1-i]
if c>="0"and c<="9":
a=ord(c)-ord("0")
elif c>="A"and c<="F":
a=ord(c)-ord("A")+10
_____________
i+=1
return m
s=input("请输入算式")
result=0;suanfu1="";suanfu2="";s1=""
for i in range(len(s)):
c=s[i]
if c=="+" or c=="-" or c=="=":
__________
suanfu1=suanfu2
suanfu2=c
if suanfu1=="":
result=t
if suanfu1=="+":
result=result+t
if suanfu1=="-":
result=result-t
s1=""
else:
s1=s1+c
print("计算结果为"+str(result)+"D")
(1)将程序横线处补充完整
(2)如输入“1110B+10D-30H=”则输出结果为___________。

35.模拟一个简单计算器,实现如下功能:输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。

程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。

当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。

当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”。

Python程序实现如下,在划线处填入合适的代码。

a=int(input("请输入第一个数: "))
fh=input ("请输入运算符: ")
b=int(input("请输入第二个数: "))
flag=True
s= ____
if fh in s:
if fh=="+":
c=a+b
elif fh=="-":
c=a-b
elif fh=="*":
c=a*b
else:
if ____
print("除数不能为0! ")
flag=False
else:
c=a/b
if flag==True:
print("运算的结果为: "+____)
else:
print ("运算符不正确")
36.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。

其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?
打开文件“考生文件夹\644\百鸡百钱.py”,完善程序实现以下功能并保存。

(1)请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善。

(2)运行程序,运行结果如图所示。

# 请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善money=100 #一共100文钱
num=100 #一共100只鸡
cock_price=5 #公鸡价格5文
hen_price=3 #母鸡价格3文
threechick_price=1 #3只小鸡1文
for cock_num in range(1,money//cock_price+1): #公鸡只数可能为1-20 for hen_num in range(1,①________): #母鸡只数可能为1-33
for chick_num in range(1,②________): #(3小鸡)只数可能为1-100
money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price
num1=cock_num+hen_num+chick_num*3
if money1==money and num1==num:
print (cock_num,hen_num,③________) #(③小鸡数)input("运行完毕,请按回车键退出...")
37.操作说明:打开文件“Y:/1/1.py”,将程序补充完整,不得增加,删除语句、或改变程序原有结构,操作结束后保存。

以下程序段的功能是:根据从键盘上输入的表示星期几的数字,若输入的数字不是在范围(1至7)输出“输入错误!”,否则输出对应的英文星期的简称如“Mon、Tue、Wed、Thu、Fri、Sta、Sun”。

n=int(input(“请输入一个数:”))
list=[ “Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sta”,”Sun”]
if ________:
print(“输入错误!”)
else:
print(________)
38.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
39.约瑟夫问题是个有名的问题:N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。

例如N=6,被杀掉的顺序是:1,4,3,0,5;最后只剩下2这个人。

llist=
n=int(input(“请输入参与人数:”))
for i in range(0,n-1):
llist.append([i,i+1])
___________
___________
long=n
k=head
i=1
p=2
while(____ ):
if i==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
if t==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
40.阅读程序。

分析条件语句的代码并回答问题。

(1)如果不能使用int()函数,那么变量s的类型将会变成 ______ 。

(2)如果你的期末成绩是85,你得到的评价将会是____________ 。

(3)如果你的期末成绩是55,你得到的评价将会是____________ 。

(4)如果你得到的评价是“还可以再提升”,你的期末成绩应该在_____和______之间。

(5)“程序中出现的所有else都可以替换为elif,程序效果一样”,这种说法是____(填“对”或“错”)的。

【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题考查的是数据类型。

布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。

NO.2020100502有数字有字母等,故应定义为字符串型。

选项C正确
解析:C
【详解】
本题考查的是数据类型。

布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。

NO.2020100502有数字有字母等,故应定义为字符串型。

选项C正确。

2.C
【详解】
本题主要考查python的表达式。

or属于逻辑运算符,m or n不是关系表达式。

故本题选C选项。

解析:C
【详解】
本题主要考查python的表达式。

or属于逻辑运算符,m or n不是关系表达式。

故本题选C 选项。

3.D
【详解】
本题主要考查Python变量的命名。

变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。

故x_1可以作为Python变量名,故本题选D选项。

解析:D
【详解】
本题主要考查Python变量的命名。

变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。

故x_1可以作为Python变量名,故本题选D选项。

4.A
【详解】
本题主要考查Python列表。

min是返回列表中的最小值,列表list1=[88,22,34,89,67],则python表达式min(list1)的值为22,故本题选A选项。

解析:A
【详解】
本题主要考查Python列表。

min是返回列表中的最小值,列表list1=[88,22,34,89,67],则python表达式min(list1)的值为22,故本题选A选项。

5.D
【详解】
本题主要考查Python常用函数。

abs(x)是返回x的绝对值,float() 函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D 选项。

解析:D
【详解】
本题主要考查Python常用函数。

abs(x)是返回x的绝对值,float() 函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。

6.B
【详解】
本题主要考查Python程序的执行。

s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。

解析:B
【详解】
本题主要考查Python程序的执行。

s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。

7.C
【详解】
本题主要考查Python保留字。

保留字不能将其用作标识符;保留字区分字母大小写,大写的不是保留字;if,else,for 等单词是保留字,也不能将其用作标识符;标识符是由字符(A~Z
解析:C
【详解】
本题主要考查Python保留字。

保留字不能将其用作标识符;保留字区分字母大小写,大写的不是保留字;i f,else,for 等单词是保留字,也不能将其用作标识符;标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字;标识符不能和 Python 中的保留字相同。

故print()是保留字正确的写法。

8.D
【详解】
本题主要考查Python程序输出语句。

x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x= 10,故本题选D选项。

解析:D
【详解】
本题主要考查Python程序输出语句。

x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x= 10,故本题选D选项。

9.D
【详解】
本题主要考查Python表达式的运行。

a=3,b=5,a = a * b=15,b = a //
b=15//5=3,a = a // b=15//3=5,故运行下列程序段后,a和b的
解析:D
【详解】
本题主要考查Python表达式的运行。

a=3,b=5,a = a * b=15,b = a // b=15//5=3,a = a // b=15//3=5,故运行下列程序段后,a和b的值为a=5 b=3,故本题选D选项。

10.A
【详解】
本题考查计算机语言的相关知识点
计算机高级语言有Python、Java等
计算机低级语言有汇编语言
机器语言是计算机直接识别并执行的语言。

故本题选A选项
解析:A
【详解】
本题考查计算机语言的相关知识点
计算机高级语言有Python、Java等
计算机低级语言有汇编语言
机器语言是计算机直接识别并执行的语言。

故本题选A选项
11.C
【详解】
本题主要考查Python程序的执行。

a=0,b=4,满足b>a,执行a=3*b=12,故程序运行后,a的值是12,故本题选C选项。

解析:C
【详解】
本题主要考查Python程序的执行。

a=0,b=4,满足b>a,执行a=3*b=12,故程序运行后,a的值是12,故本题选C选项。

12.D
【详解】
本题考查的是Python的选择嵌套语句。

先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。

15000不小于等于10000,故执行tax=800
解析:D
【详解】
本题考查的是Python的选择嵌套语句。

先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。

15000不小于等于10000,故执行
tax=800+(salary-1000)*0.4=800+(15000-10000)*0.4=800+2000=2800.0。

因为salary接收的是浮点型数据。

salary-tax=15000-2800.0=12200.0。

故选项D正确。

13.C
【详解】
本题主要考查print函数。

print命令在屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python 3.7,故本题选C选项。

解析:C
【详解】
本题主要考查print函数。

print命令在屏幕中输出相应的文本或者数字等,执行语句print (“python”,3.7)的结果是python 3.7,故本题选C选项。

14.A
【详解】
本题主要考查Python表达式的运算。

2**3//3+8%2*3=8//3+0*3=2,
5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=
解析:A
【详解】
本题主要考查Python表达式的运算。

2**3//3+8%2*3=8//3+0*3=2,
5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=3,int("1"+"5")//3=5,故本题选A选项。

15.A
【详解】
本题考查的是计算机解决问题。

计算机解决问题的步骤:分析问题、设计算法、编写程序、调试运行、检测结果,其中最核心的步骤是设计算法。

故本题应选A。

解析:A
【详解】
本题考查的是计算机解决问题。

计算机解决问题的步骤:分析问题、设计算法、编写程序、调试运行、检测结果,其中最核心的步骤是设计算法。

故本题应选A。

16.ABC
【详解】
本题考查Python特点的相关知识点
相比其他语言,Python具有交互式、解释型、面向对象的特色。

故本题选ABC 解析:ABC
【详解】
本题考查Python特点的相关知识点
相比其他语言,Python具有交互式、解释型、面向对象的特色。

故本题选ABC
17.C
【详解】
本题考查的是python语言。

在python语言中,双引号之间是输出的是字符串。

三对字符串之间都是原样输出。

故选项C正确。

解析:C
【详解】
本题考查的是python语言。

在python语言中,双引号之间是输出的是字符串。

三对字符串之间都是原样输出。

故选项C正确。

18.C
【详解】
本题主要考查Python函数。

max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。

解析:C
【详解】
本题主要考查Python函数。

max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。

19.D
【详解】
本题考查的是UltraEdit 编码。

使用 UltraEdit 或 Winex 软件查看字符内码时,得
到的是十六进制数,1 个 ASCII 码字符占 1 个字节,一个 GB2312 编
解析:D
【详解】
本题考查的是UltraEdit 编码。

使用 UltraEdit 或 Winex 软件查看字符内码时,得到的是十六进制数,1 个 ASCII 码字符占 1 个字节,一个 GB2312 编码字符(如汉字)占 2 个字节。

ASCII 码字符不大于7F。

图中字符共占16个字节,其中共有10个ASCII字符,故选项A错误;由图中可知“2”的十六进制内码为:32,“0”的十六进制内码为:30,故字符“10”的十六进制内码是:31 30,选项B错误;“CO B4”是“来”字在计算机内存储和处理时的机内码,故选项C错误;由图中可知大写“P”的十六进制码为:50,故可以推出小写“p”的十六进制码为:70,转二进制数为:1110000,故选项D正确。

20.B
【详解】
本题考查Python语句。

根据while可知,当if i%2==0成立时,sum+=i,
i=2,4,6,8时,If条件成立,故sum=2+4+6+8=20,又根据print(‘sum
解析:B
【详解】
本题考查Python语句。

根据while可知,当if i%2==0成立时,sum+=i,i=2,4,6,8时,If条件成立,故sum=2+4+6+8=20,又根据print(‘sum=’,sum),则最后运行结果是sum=20,故本题选B。

21.C
【详解】
本题考查Python程序调试
a<b时,执行pri nt(‘True’)。

故本题选C选项
解析:C
【详解】
本题考查Python程序调试
a<b时,执行print(‘True’)。

故本题选C选项
22.C
【详解】
本题主要考查Python循环结构。

range函数中第一个参数是起始值,第二个参数是终值,第三个参数是每次递增值,语句for i in range(10,0,2):初值是10,终值是0,
解析:C
【详解】
本题主要考查Python循环结构。

range函数中第一个参数是起始值,第二个参数是终值,第三个参数是每次递增值,语句for i in range(10,0,2):初值是10,终值是0,每次递增2,将出现死循环,故本题选C选项。

23.A
【详解】
本题考查循环语句。

在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为while i<=7,故本题选A。

解析:A
【详解】
本题考查循环语句。

在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则
s=1*3*5*7=105,最后结果为105,可知条件为while i<=7,故本题选A。

24.C
【详解】
本题主要考查Python分支结构。

分析程序可知,该程序采用多分支结构,故程序①处应填elif,故本题选C选项。

解析:C
【详解】
本题主要考查Python分支结构。

分析程序可知,该程序采用多分支结构,故程序①处应填elif,故本题选C选项。

25.B
【详解】
本题主要考查Python字符函数。

int() 函数用于将一个字符串或数字转换为整型;ord()函数它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Uni
解析:B
【详解】
本题主要考查Python字符函数。

int() 函数用于将一个字符串或数字转换为整型;ord()函数它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值;chr()函数返回当前整数对应的 ASCII 字符; yolk是一个python工具,用于获取有关已安装的python包的信息,故本题选B选项。

26.D
【详解】
本题主要考查Python表达式的运算。

round(x,n)方法返回 x 的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(
解析:D
【详解】
本题主要考查Python表达式的运算。

round(x,n)方法返回 x 的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(a)=3.3+2=5.3,故本题选D选项。

27.B
【详解】
本题主要考查Python关系运算符。

用来表示不等于的符号是“!=”,“= =”表示等于,“>=”表示大于等于,“<=”表示小于等于,故本题选B选项。

解析:B
【详解】
本题主要考查Python关系运算符。

用来表示不等于的符号是“!=”,“= =”表示等于,“>=”表示大于等于,“<=”表示小于等于,故本题选B选项。

28.C
【详解】
本题主要考查Python代码发布。

创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在
解析:C
【详解】
本题主要考查Python代码发布。

创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件;已经构建发布的模块必须先导入程序,然后才能使用。

导入时可以使用语句“import mymodule”,也可以用“from mymodule import *”;下载安装,使用“python setup.py install”命令安装到你的Python本地副本中,故本题选C选项。

29.D
【详解】
本题主要考查Python程序的执行。

列表的索引是从0开始的,故List[3]=9,故段运行后的输出结果是9,故本题选D选项。

解析:D
【详解】
本题主要考查Python程序的执行。

列表的索引是从0开始的,故List[3]=9,故段运行后的输出结果是9,故本题选D选项。

30.BD
【详解】
本题主要考查Python程序执行。

第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i
解析:BD
【详解】
本题主要考查Python程序执行。

第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到
p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行 p[ i ] -= p[ i - 1],否则不变,即p[2]不会大于10,故执行该程序段后,列表p中的元素值不可能是1, 2, 14, -9, -5, 8或6,4, 14, -7, 3, 8,故本题选BD选项。

二、程序填空
31.list plt.plot(X,Y) 2
【详解】
本题主要考查Python程序调试与执行。

①由代码Y=[6,4,4,3,3,6,9,12,12,11,9,7],可知变量Y的数据类型是list(列表类型)。

②scatter是绘制散点图函数,图中还需要使用绘图函数plot,故第8行横线处的代码是plt.plot(X,Y)。

③通过观察,气温釆样间隔时间是2个小时。

32.形参分支结构(选择结构) if条件中的return语句改为return
print(money,"$=",money*6.505,"人民币"),其他elif语句类似
【详解】
本题主要考查Python程序执行与调试。

①分析代码可知,参数currency指:形参。

②由代码可知,该程序用了条件分支结构。

③若输出结果是50$= 325.25人民币,则需将if条件中的return语句改为return print(money,"$=",money*6.505,"人民币"),其他elif语句类似。

33.原理:通常蒙特•卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。

对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特•卡罗方法是一种有效的求出数值解的方法。

一般蒙特•卡罗方法在数学中最常见的应用就是蒙特•卡罗积分。

方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。

利用蒙特卡洛方法实现求解圆周率
#!/usr/bin/Python
#-*- coding:utf-8 -*-
import random
import math
def monteCarlo(N):
i = 0
count = 0
while i <= N:
x = random.random()
y = random.random()
if pow(x, 2) + pow(y, 2) < 1:
count += 1
i += 1
pi = 4 * count / N
print(pi)
monteCarlo(1000000)
本题考查的知识点是Python程序。

原理:通常蒙特•卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。

对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特•卡罗方法是一种有效的求出数值解的方法。

一般蒙特•卡罗方法在数学中最常见的应用就是蒙特•卡罗积分。

方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。

利用蒙特卡洛方法实现求解圆周率#!/usr/bin/Python#-*- coding:utf-8 -*-import randomimport mathdef monteCarlo(N): i = 0 count = 0 while i <= N: x = random.random() y = random.random() if pow(x, 2) + pow(y, 2) < 1: count += 1 i += 1 pi = 4 * count / N print(pi)monteCarlo(1000000)
34.n=10 m=m+(n**(le-2-i))*a t=convert(s1) -24D
【详解】
本题主要考查Python程序的执行与调试。

①二进制的权值是2,十进制的权值是10,十六进制的权值是16,此处是十进制的情况,故填n=10。

②二进制、十六进制转化为十进制的方法是“按权展开、逐项相加”,从右往左加,变量i的初值等于0,故此处要变换为le-2-i,故此处填m=m+(n**(le-2-i))*a。

③当字符c是“+”、“-”、“=”时,则表明第一个运算数已全部保存到变量s1中,此处需要将其转化为十进制保存到变量t中,故填
t=convert(s1)。

④1110B转化为十进制数是14D,30H转化为十进制数是48D,故
1110B+10D-30H=-24D。

35."+-*/" b==0 str(c)
【详解】
本题主要考查Python程序执行与调试。

①变量fh用来接收运算符,由代码“if fh in s”可知,变量s保存加减乘除(+-*/)四种运算符,故此处填"+-*/"。

②变量b保存第二个数,当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”,此处是处理b=0的情况,故填b==0。

③变量c保存运算结果,此处输出 c的结果,故填str(c)。

36.34或 money//hen_price+1101 或 money//threechick_price+1chick_num*3
【详解】
本题主要考查Python程序执行与调试。

①母鸡只数可能为1-33,对比最外层循环范围,第一空填34或 money//hen_price+1。

②小鸡只数可能为1-100,同理第二空填101 或money//threechick_price+1。

③公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,故第三空填chick_num*3。

37.n<1 or n>7 list[n-1]
【详解】
本题主要考查Python程序调试。

①输入的数字不是在范围(1至7)输出“输入错误!”,故此处if判断条件是n<1 or n>7。

②列表的索引是从0开始,即列表list索引是从0~6,而n的范围是从1~7,故此处填list[n-1]。

38.for i in range(100,1000):
a=i//100
b= (i//10)%10
c=i%10
if i==a*a*a+b*b*b+c*c*c:
【详解】
本题主要考查程序设计。

可通过Python程序设计实现题干要求,通过for循环找出水仙花数,依次取出三位数的每一位数,其中百位a= i//100,十位b= (i//10)%10,个位c=i%10,然后判断是否是水仙花数,具体代码如下:
for i in range(100,1000):
a=i//100
b= (i//10)%10
c=i%10
if i==a*a*a+b*b*b+c*c*c:
print(i)
39.llist.append([n-1,0]) head=0 long>1 head=llist[k][1] llist[k][1]=llist[t][1]
k=llist[k][1]
【详解】
本题主要考查Python程序执行与调试。

①for循环体是将索引0-n 追加到llist中,此处是循环体执行完,将末元素与首元素的索引加入到llist中,故填llist.append([n-1,0])。

②head是列表头,初始化为0,故填head=0。

③最后剩下一个,其余人都将被杀掉,故循环条件是long>1,变量long控制元素个数,故填long>1。

④索引为t的删除后,此处是更新head值,故填head=llist[k][1]。

⑤删完后,如果t等于head,需要更新索引k,将索引t的值赋给变量k,故填llist[k][1]=llist[t][1]。

⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]
40.字符串类型你及格了喔表现不错程序结束不及格学习方法可能不对程序结束
60 80 错
【详解】
本题主要考查Python编程。

① input() 函数接受一个标准输入数据,返回为 string 类型,因此此处为字符串类型;②输入期末成绩为85时,满足大于等于60及大于等于80条件,因此此处输出为“你及格了喔表现不错程序结束”;③输入期末成绩为55时,满足小于60及大于等于30,因此此处输出为“不及格学习方法可能不对程序结束”;评价是“还可以再提升”项,属于大于等于60且小于80范围,因此④为60,⑤为80;elif后需添加判断条件,因此⑥为错。

【点睛】。

相关文档
最新文档