
一、选择题
1.在Python中,设a=2,b=3,表达式a=3值是( )
A.1 .0 .True .False
2.下列选项中,能作为python程序变量名的是( )
A.if .2x .a*b .x2
3.下面代码执行完毕后, a和b的值分别为( )
| a=l | a=l; |
| b=2 | b=2; |
| a=b | a=b; |
| VB、Python 代码 | JAVA代码 |
4.Python 定义私有变量的方法为。( )
A.使用 __private 关键字
B.使用 public 关键字
C.使用DEF定义变量名
D.使用 __XX 定义变量名
5.解释性语言是指源代码不要求预先进行编译,在运行时才进行解释再运行,以下哪一种程序设计语言属于解释性语言( )。
A.Python .C++ .VB .C
6.以下Python代码输出结果中说法正确的是( )。
x=0
for i in range(1,100):
x=x+i
print(x)
A.1+100的和 .1+99的和
C.1~99所有整数的和 .1~100所有整数的和
7.要建立一个“Python 程序设计”课程的学习网站,下面比较合理的制作流程是 :( )
①规划网站结构,并确定设计风格 ②发布网站 ③网页制作 ④了解网站运行环境,选择网站开发工具 ⑤确定网站主题,收集素材
A.①⑤③④② .⑤①④②③ .①④⑤②③ .⑤①④③②
8.在Python中,实现多分支选择结构的较好方法是( )。
A.if .if-else .if-elif-else .if嵌套
9.下列选项中不能正确表达Python中的赋值语句的是( )
A.X,Y=5,8 .X=Y=5 .X =Y+X .10=X+Y
10.对于Python语言中的语句“x=(num//100)%10”,当num的值为45376时,x的值应为( )
A.3 .4 .5 .6
11.Python表达式中,可以使用( )控制运算的优先顺序。
A.圆括号() .方括号[] .大括号{} .尖括号<>
12.要实现将实数型变量a的值保留三位小数,以下python可以实现的是( )
A.a%0.001 .a//0.001 .round(a,3) .round(3,a)
13.下列Python程序运行后的输出结果是( )。
s=0
for i in range(1,10):
s=s+i
print("s=",s)
A.s=35 .s=45 .s=55 .s=65
14.Python程序文件的扩展名是( )。
A..python ..pyt ..pt ..py
15.在Python中,设a=2,b=3,表达式 not(b-a>0)值是 ( )
A.1 .-1 .True .False
二、程序填空
16.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。
17.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1**3+5**3+3**3 = 153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
(问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。print ("三位数之内的水仙花是:")
for x in _____ :
b=x//100
s=_____
g=_____
if x==(b**3 + s**3 + g**3):
_____
18.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用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=”则输出结果为___________。
19.小强开展网上直播售货,为此购买了以下直播硬件设备:①手机②耳机③自拍杆④数码照相机⑤背景画⑥无线路由器
请回答下列问题:
(1)在购买的直播硬件设备中,属于模数转换的设备是__________(多选,填序号)
(2)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:1,在不考虑视频传输优化的情况下,问小强家目前10Mbps的宽带__________(选填:能/不能)满足直播要求。请列式证明__________。
(3)小强将某一天的售货情况从平台导出,保存为文件shqk.xlsx.数据已按“流水号”升序排序,如图a所示。流水号为2019030602的售货记录中,已成交的商品类别数是__________(填写数字),该流水号的总利润是__________元(填写数字,保留1位小数)
图a
(4)为了快速了解各类别商品的利润,小强用python编程处理。处理的结果界面如图b所示。部分代码如下,请在①②划线处填写合适的代码。
图b
import pandas as pd
import numpy as np
import matplotlib. pyplot as plt
detail=pD.read_excel (___)
print(detail)
for i in range(len(detail[:])):
if detail[‘成交与否’][i]==1:
detail[‘lirun’]=___
dg=detai1[[‘类别’, ‘lirun’]]. groupby(by=‘类别’)
print(“总利润”,detail[‘lirun’].sum())
’数据可视化代码略
20.编写一个程序,实现九九乘法口诀表。
21.分析完善程序
[背景知识]为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。( 提示:①所有车牌号中都含有数字,并且车牌号的长度都是6;②以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。)如:
请根据上述算法描述补全代码
s=input("车牌号s=")
n=6
x=s[n-1:n]
while x.isdigit()== False:
①
x=s[n-1:n]
if ② ==0:
print(“双号”)
else:
print(“单号”)
(提示: s[n:m]的功能:从字符串s的
下标为n的元素开始,截取到下标为m-1的元素。例如: s=" 12345" ,s[2:4]=" 34" 。s.isdigit) :判断是否为数字。)
(1)根据题意,程序中空白①处应填写:______
(2)根据题意,程序中空白②处应填写:______(填: A/B/C/D )。
A.int(x)/2==0 B.int(x)%2 ==0 C.int(x)%2=0 D.int(x)%2!=0
【参】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题主要考查Python基本运算。Python比较运算优先级高于逻辑运算,因此C选项正确。
【点睛】
解析:C
【详解】
本题主要考查Python基本运算。Python比较运算优先级高于逻辑运算,因此C选项正确。
【点睛】
2.D
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故能作为python程序变量名的是x2,故本题选D选项。
解析:D
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故能作为python程序变量名的是x2,故本题选D选项。
3.C
【详解】
本题主要考查程序的执行。a=1,b=2,a=b=2,故代码执行完毕后, a和b的值分别为2 和 2,故本题选C选项。
解析:C
【详解】
本题主要考查程序的执行。a=1,b=2,a=b=2,故代码执行完毕后, a和b的值分别为2 和 2,故本题选C选项。
4.D
【详解】
本题主要考查Python变量的定义。Python 定义私有变量的方法为使用 __XX 定义变量名,故本题选D选项。
解析:D
【详解】
本题主要考查Python变量的定义。Python 定义私有变量的方法为使用 __XX 定义变量名,故本题选D选项。
5.A
【详解】
本题主要考查程序设计语言。编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。Python属于解释性语言,
解析:A
【详解】
本题主要考查程序设计语言。编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。Python属于解释性语言,C++ 和C属于编译性语言,vb是典型的编译+解释型语言,故本题选A选项。
6.C
【详解】
本题考查的是Python代码程序。本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。循环过程就是执行1-99所有整数的求和过程。故答案为C。
解析:C
【详解】
本题考查的是Python代码程序。本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。循环过程就是执行1-99所有整数的求和过程。故答案为C。
7.D
【详解】
本题考查的是网站制作流程相关知识。建立网站首先是要确定网站的主题,收集素材,规划网站,然后选择网站的开发工具进行网页制作,最后进行网站的发布。故选项D正确。
解析:D
【详解】
本题考查的是网站制作流程相关知识。建立网站首先是要确定网站的主题,收集素材,规划网站,然后选择网站的开发工具进行网页制作,最后进行网站的发布。故选项D正确。
8.C
【详解】
本题主要考查多分支选择结构。多分支选择结构格式:if-elif-else,故本题选C选项。
解析:C
【详解】
本题主要考查多分支选择结构。多分支选择结构格式:if-elif-else,故本题选C选项。
9.D
【详解】
本题主要考查Python赋值语句。赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。
解析:D
【详解】
本题主要考查Python赋值语句。赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。
10.A
【详解】
本题主要考查Python语句。num=45376,x=(45376//100)%10=453 % 10=3,故x的值应为3,故本题选A选项。
解析:A
【详解】
本题主要考查Python语句。num=45376,x=(45376//100)%10=453 % 10=3,故x的值应为3,故本题选A选项。
11.A
【详解】
本题考查Python运算顺序相关的知识点
Python表达式中,可以使用圆括号()控制运算的优先顺序。故本题选A选项
解析:A
【详解】
本题考查Python运算顺序相关的知识点
Python表达式中,可以使用圆括号()控制运算的优先顺序。故本题选A选项
12.C
【详解】
本题主要考查Python函数。round(x,n)方法返回 x 的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
解析:C
【详解】
本题主要考查Python函数。round(x,n)方法返回 x 的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
13.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选项。
14.D
【详解】
本题考查Python文件扩展名相关知识点
Python程序文件的扩展名是 .py。故本题选D选项
解析:D
【详解】
本题考查Python文件扩展名相关知识点
Python程序文件的扩展名是 .py。故本题选D选项
15.D
【详解】
本题主要考查Python表达式的运算。a=2,b=3,b-a>0值为True,则表达式 not(b-a>0)值是False,故本题选D选项。
解析:D
【详解】
本题主要考查Python表达式的运算。a=2,b=3,b-a>0值为True,则表达式 not(b-a>0)值是False,故本题选D选项。
二、程序填空
16.原理:通常蒙特•卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特•卡罗方法是一种有效的求出数值解的方法。一般蒙特•卡罗方法在数学中最常见的应用就是蒙特•卡罗积分。方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。利用蒙特卡洛方法实现求解圆周率
#!/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)
17.range(100,1000) x//10%10 x%10 print ("三位数之内的水仙花是:"+str(x))
【详解】
本题主要考查Python程序的执行与调试。①水仙花数是指一个三位数,即[100,999],for x in range(100,1000)表示x的范围是100-999,故此处填range(100,1000)。②变量g、s、b分别存放个位、十位、百位上的数,故s=x//10%10(“//”表示整除,“%”表示取余)。③g=x%10。④如果满足 x==(b**3 + s**3 + g**3),则输出“三位数之内的水仙花是:x”,故此处填print ("三位数之内的水仙花是:"+str(x))。
18.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。
19.①④ 不能 1080*1920*24*25*1/1024/1024/100≈10.8Mbps,大于网络传输带宽10Mbps,所以不能满足直播要求。 1 2或2.0 ‘shqk. xlsx’或“shqk. xlsx” (detai1[‘售价’]-detail[‘进价’])*detai1[‘数量’]
【详解】
本题主要考查Python程序设计相关知识点。①手机、数码照相机均属于模数转换的设备,可以实现模拟信号与数字信号的转换,故填①④。②根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:1,在不考虑视频传输优化的情况下,小强家目前10Mbps的宽带不能满足直播要求。③视频存储容量=像素*颜色深度*帧频*时长,1080*1920*24*25*1/1024/1024/100≈10.8Mbps,大于网络传输带宽10Mbps,所以不能满足直播要求。④由图可知,1表示成交,0表示未成交,流水号为2019030602的售货记录中,已成交的商品类别数是1,都是饮料(即货号17和货号5)。⑤该流水号的总利润是(2.9-2.5)*3+(1-0.8)*4=2.0,故填2或2.0。⑥该表格文件名是shqk.xlsx,此处读入该表格文件,故填‘shqk. xlsx’或“shqk. xlsx”。⑦利润=(售价-进价)*数量,数据已经读到detail中,故此处填(detai1[‘售价’]-detail[‘进价’])*detai1[‘数量’]。
20.for i in range(1,10):
for j in range(1,i+1):
print(str(j)+"*"+str(i)+"="+str(i*j),end=" ")
print("")
【详解】
本题主要考查Python程序的执行。九九乘法口诀表可以通过嵌套for循环实现,内层循环完一次,执行print("")换行,具体代码如下:
for i in range(1,10):
for j in range(1,i+1):
print(str(j)+"*"+str(i)+"="+str(i*j),end=" ")
print("")
21.n=n-1或 n-=1 B
【详解】
本题主要考查算法及Python程序设计。①此处是判断x是否为数字,若不是数字,则n递减取前一位字符继续进行判断,故此处填n=n-1或 n-=1。②当while循环结束,表明此时x为数字,若int(x)%2 ==0,即x为偶数,输出“双号”,否则输出单号,故选B选项。
