NCTPython编程一级模拟卷5含答案word程序填空阅读填空程序试题Word文档格式.docx
《NCTPython编程一级模拟卷5含答案word程序填空阅读填空程序试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《NCTPython编程一级模拟卷5含答案word程序填空阅读填空程序试题Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
a=len(fruites)
print('
a='
a)
_________________
4.分析完善程序
[背景知识]为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。
(提示:
①所有车牌号中都含有数字,并且车牌号的长度都是6;
②以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。
)如:
请根据上述算法描述补全代码
s=input("
车牌号s="
)
n=6
x=s[n-1:
n]
whilex.isdigit()==False:
①
x=s[n-1:
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==0B.int(x)%2==0C.int(x)%2=0D.int(x)%2!
=0
5.以下是计算s=1+6+11+...+101的程序代码,请补全程序。
foriinrange(1,102, ):
s=
print(s)
请补充完成上述程序①_________②_________
6.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
7.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。
8.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。
得到的数字应按逗号分隔的顺序打印在一行上。
提示:
考虑使用range(#begin,#end)
9.哥德巴赫在1742年提出了以下猜想:
任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。
importmath
defss(n):
Flag=True
i=2
whilei<
=int(math.sqrt(n))andFlag:
if_____________
Flag=False
_____________
returnFlag
n=int(input(“输入一个大于2的偶数”))
foriinrang(2,n//2+1):
if____________
print(str(n)+"
="
+str(i)+"
+"
+str(n-i))
如果输入“8”则结果显示_____
10.编写程序,找到并输出100以内的偶数个数。
11.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。
12.猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
13.输入n,计算s=1!
+2!
+...+n!
的未6位(不含前导0)。
N<
=1000000,n!
表示前n个正整数之积。
14.请在空格处填写正确的代码,使程序完善。
实现功能:
绘制y=x2-2x+1的图像
#加载numpy模块并限简洁的别名为np
importnumpyasnp
#加载matplotlib.pyplot模块并限简洁的别名为plt
importmatplotlib.pyplotasplt
#x在-7到9之间,每隔0.1取一个点
x=np.arange(-7,9,0.1)
_____=x**2-2*x+1
plt.plot(x,________)
plt.title('
y=x*x-2*x+1'
plt.xlabel('
x'
plt.ylabel('
y'
plt._________
15.编写一个程序,实现九九乘法口诀表。
16.请编写Python程序,实现如下功能需求:
1)程序运行后,给出文字提示:
“请输入一个正整数:
”
2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的数。
3)不要超过5行代码。
程序运行举例:
17.程序设计:
唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。
观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。
于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。
由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。
代码如下:
List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))
left=1
right=10000
while①
mid=②
ifList[mid]==1000:
③
elifList[mid]<1000:
④
⑤
print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))
(1)程序代码中①处正确的代码是(_______)。
A.left<rightB.left<=rightC.left!
=rightD.left>right
(2)程序代码中②处正确的代码是(_______)。
A.(left+right)/2B.(left+right)\2
C.(left+right)//2D.(left+right)\\2
(3)程序代码中③处正确的代码是(_______)。
A.passB.print(mid)zC.breakD.continue
(4)程序代码中④处正确的代码是(_______)。
-
A.left=midB.right=midC.left=mid+1D.right=mid-1
(5)程序代码中⑤处正确的代码是(_______)。
18.小王编写了“字符串缩写”程序,实现如下功能:
1.输入一串由英文字母和数字组成的字符串,
2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,
3.例如:
字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。
程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:
实现上述功能的程序如下,请在程序划线处填入合适的代码。
请输入字符串s:
"
_______
flag=False
result="
"
foriinrange(0,k-1):
if___________________:
result=result+s[i]+"
-"
flag=True
eliford(s[i])!
=ord(s[i+1])-1:
result=result+s[i]
_____
result=result+s[i+1]
print("
缩写后的字符串为:
result)
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
划线处③处应该填入的语句为:
19.完善程序实现以下功能并保存。
输出数组的最大值。
arr1=[12,435,76,24,78,54,866,43]
________=-32768
foriinrange(0,7):
ifarr1[i]>
max1:
max1=________
最大值是:
,________)
input("
运行完毕,请按回车键退出..."
20.已知圆柱体的底面半径为r,高为h,(均为正整数),小张编写了一个程序计算圆柱体的地面周长和面积,圆柱体侧面积以及圆柱体体积,其中圆周率定义为:
3.14,请根据下列代码回答问题:
r=int(input(“请输入半径r:
h=int(input(“请输入高h:
_________________________
c=2*pi*r
s=pi*r**2
S=c*h
V=s*h
print(c,s,S,V)
(1)解决问题的程序用到的控制结构有:
__________________(填:
顺序结构、分支结构、循环结构)
(2)请将程序补充完整。
(3)请找出程序中的错误代码,并改正。
____________________________________________
21.某品牌手机第一年销量为20000台,假设平均每年的销量比上一年增加68%,请问几年后能使总销量达到60000台。
下面的程序能实现上述的功能,请将缺失的代码补充完整。
total=every_year=20000
year=1
while__________________:
every_year+=____________
total+=every_year
year+=1
print(year)
22.小敏有10万元本金,想要购买银行保证收益型理财产品。
每年到期后连本带利仍购买此种理财。
请你帮助小敏分析,在年收益率不变的情况下,多少年后小敏的累计收益能超过本金,请完成程序填空。
(例如输人:
5.15%,输出:
14年后收益超过本金。
1s=input("
请输入年利率:
")
2rate=float(s[:
-1])*0.01
3money=100000
4year=0
5whilemoney<
=200000:
6money=round(),2)
7year=year+1
8print(year,"
年后收益超过本金。
”)
(1)程序第6行下划线处应填入___________。
(2)程序第2行的作用是____________,并赋值给变量rate。
(3)该程序主要是通过while实现____________结构。
23.学校开展“奇妙的数字”研究性学习活动。
张轩小组4人决定把课题定为《探秘水仙花数》。
(1)张轩使用XX搜索引擎搜索到“水仙花数”是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:
153=13+53+33,那么这个数就是一个“水仙花数”。
XX属于____搜索引擎(全文,分类)
(2)为了求解100--999这些数字中,哪些数字是“水仙花数”?
张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:
k是可以重新赋值的,k是变量还是常量?
____程序中①处有空缺,请补充完整①处的代码。
____程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。
(3)在研究成果展示环节,张轩小组可以使用什么软件制作《探秘水仙花数》的研究成果报告?
(_____)
24.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。
以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。
defgs(n):
#字符串长度统一
iflen(n)>
=5:
n=_____#取字符串的前5个字符
n=n+"
*(5-len(n))
returnn
r=1000;
x=100;
y=15;
z=0.8#从系统中分别获取消费额度、满和减以及打折的数值
dis=["
红烧排骨"
"
香炸刀鱼"
虾仁"
菜心"
米饭"
]#某顾客所点菜品名称
num=[1,1,1,1,3]#某顾客所点菜品数量
mon=[46,45,68,16,1]#某顾客所点菜品单价
菜品名称"
数量"
小计"
_____
foriinrange(len(dis)):
print(gs(dis[i]),num[i],"
num[i]*mon[i])
s=s+num[i]*mon[i]
ifs>
=r:
total=s*z
消费合计:
s)
应收现金:
total)
25.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。
编写python程序,实现如下功能:
输入n的值,统计显示n以内的所有双胞胎数。
程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。
defisprime(x):
______
foriinrange(2,int(math.sqrt(x))+1):
ifx%i==0:
f=False
returnf
n=int(input("
请输入一个正整数n:
))
c=0
k=3
whilek<
=n-2:
ifisprime(k)and______________:
c+=1
print("
第"
+str(c)+"
对双胞胎数:
k,'
和'
k+2)
_______
共有"
+str(c)+"
对双胞胎数"
26.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?
请帮小金完成代码编程.
defconvert(s):
m=0
le=len(s)
key=s[le-1]
ifkey=="
B"
:
n=2
elifkey=="
D"
else:
n=16
i=0
whilei<
=le-2:
c=s[le-1-i]
ifc>
0"
andc<
9"
a=ord(c)-ord("
elifc>
A"
F"
)+10
_____________
i+=1
returnm
请输入算式"
result=0;
suanfu1="
;
suanfu2="
s1="
foriinrange(len(s)):
c=s[i]
ifc=="
orc=="
__________
suanfu1=suanfu2
suanfu2=c
ifsuanfu1=="
result=t
result=result+t
result=result-t
s1="
s1=s1+c
计算结果为"
+str(result)+"
(1)将程序横线处补充完整
(2)如输入“1110B+10D-30H=”则输出结果为___________。
27.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。
编写python程序,实现如下功能:
输入n的值,统计显示n以内的所有双胞胎数。
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)+“对双胞胎数”)
28.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:
1**3+5**3+3**3=153。
这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
(问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。
需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。
请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
print("
三位数之内的水仙花是:
forxin_____:
b=x//100
s=_____
g=_____
ifx==(b**3+s**3+g**3):
29.使用Python自身提供的IDLE集成开发环境录入以下代码及调试
运行,检测结果。
#鸡兔同笼
forxinrange(1,23):
y=35-x
if4*x+2*y==94:
兔子有%s只,鸡有%s只"
%(x,y))
特别提示:
代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。
30.求100以内素数。
【参考答案】***试卷处理标记,请不要删除
1.<
n%i==0<
s=s+1
【详解】
本题主要考查Python程序的执行。
<
变量i的取值范围是1~n,如果n能整除i,则i为n的一个约数,s统计约数的个数,故此处应修改为n%i==0。
如果n能整除i,则s递增,故此处应改为s=s+1。
2.整除取余判断是否相等百十个1000
本题考查的是python语言及对程序实现的理解。
(1)//的符号作用是取整除,返回商的整数部分(向下取整)。
(2)%的符号作用是取模,返回除法的余数。
(3)等于,比较符号两边对象是否相等。
(4)(5)(6)i=n//100,j=n//10%10,k=n%10,分别利用取整和取余符号,算出三位数对应的每一位上的数字。
(7)range()函数的区间是左闭右开,所以第二个参数1000是取不到的。
3.banana
apple
mango
a=3
本题主要考查Python中For循环结构。
for循环可以遍历任何序列的项目,如一个列表或者一个字符串;
len()方法返回列表元素个数。
因此本题输出为各列表内容及列表元素个数。
【点睛】
4.n=n-1或n-=1B
本题主要考查算法及Python程序设计。
①此处是判断x是否为数字,若不是数字,则n递减取前一位字符继续进行判断,故此处填n=n-1或n-=1。
②当while循环结束,表明此时x为数字,若int(x)%2==0,即x为偶数,输出“双号”,否则输出单号,故选B选项。
5.s+i
本题主要考查Python循环结构。
题目要求计算1、6、11..101等差数列之和,其中公差为5,因此①为5;
s变量用于记录等差数列之和,需进行累加计算,因此②为s+i。
6.
本题主要考查Python程序的执行与调试。
运行结果如下:
7.pw=input("
请输入密码:
password="
123456"
i=1
while(i<
=3):
ifpw==password:
恭喜你进入系统!
break
请重新尝试:
i)
pw=input("
i=i+1
本题主要考查程序设计。
可以通过Python程序设计语言实现题干要求,可以通过while循环控制三次机会,使用if条件分支结构判断是否输入正确,具体代码如下:
pw=input("
8.l=[]
foriinrange(2000,3201):
if(i%7==0)and(i%5!
=0):
l.append(str(i))
print('
.join(l))
由题干要求,可以使用Python程序设计语言实现,可使用for循环以及列表,可以使用join函数按逗号分隔格式打印结果,join函数连接字符串数组,将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,具体代码如下:
l=[]