2024年4月14日发(作者:)
NCT-Python编程一级-模拟卷1(含答案图文程序填空阅读填空程序试题
一、程序填空
1.现有字典如下,根据题目要求,写出相关的表达式:
xingzuo = {
‘小明’:‘巨蟹座’,‘小红’:‘处女座’,‘小兰’:‘金牛座’
}
(1)
现要取出小红所对应的星座,写出相关表达式:
___________________________________________________________
(2)
现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。
__________________________________________________________
(3)
现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙
添加。
_________________________________________________________
(4)
写出删除该字典的表达式:
___________________________________________________________
2.阅读程序。阅读求水仙花数的代码并回答问题。
“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:
153
是一个“水
仙花数”,因为
153=1
3
+5
3
+3
3
,请计算并输出所有三位数的水仙花数。
for n in range(100,1000):
i=n//100
j=n//100%10
k=n%10
if n==i*i*i+j*j*j+k*k*k:
print(n)
(
1
)
//
的符号作用是
_____
。
(
2
)
%
的符号作用是
_____
。
(
3
)
==
的符号作用是
_____
。
(
4
)在代码中,变量
i
表示的是三位数中的
______
位。
(
5
)在代码中,变量
j
表示的是三位数中的
______
位。
(
6
)在代码中,变量
k
表示的是三位数中的
______
位。
(
7
)在
range
(
100,1000
)这个区域内,变量
n
无法取到的数值是
________
。
3.完善程序。以下是猜数游戏的程序,请在画线出填写正确的内容。
import random
secret=t(0,10)
print(“---
猜数游戏
-----”)
cs=int(input(“
你猜的数字是
”))
while cs!=secret:
_______cs>secret:
_________ (“
唉,猜大啦
!”)
__________:
print(“
嘿嘿,猜小了!
”)
cs= int(input(“
重新猜一个靠谱的数字是:
”))
print(“
游戏结束,不玩了!
”)
4.调试程序。请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
for fruit in fruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
5.编写程序,用
*
打印一个如下所示的等腰直角三角形,将测试结果截图。
*
* *
* * *
* * * *
6.分析完善程序
[
背景知识
]
为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号
限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善
下面的程序。( 提示:①所有车牌号中都含有数字,并且车牌号的长度都是6;②以车牌
中最后一位阿拉伯数字的奇、偶来决定单双号。)如:
请根据上述算法描述补全代码
s=input("
车牌号
s=")
n=6
x=s[n-1:n]
while t()== False:
①
x=s[n-1:n]
if
②
==0:
print(“
双号
”)
else:
print(“
单号
”)
(
提示
: s[n:m]
的功能
:
从字符串
s
的
下标为
n
的元素开始,截取到下标为
m-1
的元素。例如
: s=" 12345" ,s[2:4]=" 34"
。
t) :
判断是否为数字。
)
(
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
7.分析完善程序
某市出租车收费标准如下:
(
1
)
3
公里内(含
3
公里),收费
8
元
(
2
)超过
3
公里但未超过
6
公里部分,按
1.5
元
/
公里收费
(
3
)超过
6
公里部分,按
2.25
元
/
公里收费。
根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?
[
算法分析
]
假设总费用为
p
,则可以分段计算
p=8 ‘
(
s
≤
3
)
p=1.5*
(
s-3
)
+8 ‘
(
3
≤
6
)
p=2.25*
(
s-6
)
+1.5*3+8 ‘
(
s>6
)
[
参考代码
]
a=float(input(“s=”))
if s <= 3 :
p= 8
if
p=1.5*
(
s-3
)
+8
if s > 6 :
p=2.25*
(
s-6
)
+1.5*3+8
print( p)
根据上述回答如下问题:
(
1
)本题采用的算法是
________
(填
:
解析法
/
枚举法
/
排序法
/
递归法)。
(
2
)程序代码中空白处应填写的条件是
_______
(填
: A/B/C/D
)。
A.33 and s<6 D.s>3 Or s<=6
8.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果
正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。
9.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出
。
10.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
11.操作说明:打开文件“
Y:/1/
”,将程序补充完整,不得增加,删除语句、或改变程
序原有结构,操作结束后保存。
以下程序段的功能是:根据从键盘上输入的表示星期几的数字,若输入的数字不是在范围
(
1
至
7
)输出“输入错误!”,否则输出对应的英文星期的简称如“
Mon
、
Tue
、
Wed
、
Thu
、
Fri
、
Sta
、
Sun
”。
n=int(input(“
请输入一个数:
”))
list=[ “Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sta”,”Sun”]
if ________:
print(“
输入错误!
”)
else:
print(________)
12.操作说明:打开文件“
Y:/2/
”,在代码窗口指定位置
<1>
、
<2>
处修改完善程序代
码,不得增加、删除语句或改变程序原有结构,操作结束后保存。
以下程序段的功能是:输入一个正整数
n
(
1
至
100
),输出它的约数的个数。
s=0
n=int(input(“
请输入一个正整数
:”))
if n<1 or n>100
:
exit #
输入的数不符合要求,退出
for i in range(1,n+1):
if n//i=0:___<1>
s=s+i <2>
print(“
约数的个数是:
”
,
s)
13.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
def gcd (m,n):
r
=
while r!
=
0:
m
=
n
n
=
return
a
=
int(input(‘
请输入
a
的值
:’))
b
=
int(input(‘
请输入
b
的值
:’))
print(‘
最大公约数是
:' )
填空:
________ ________ ________ ________ ________
14.程序编写
求
1+2
2
+3
2
+
……
+100
2
的结果
_______________________________
_______________________________
_______________________________
_______________________________
input
(“运行完毕,请按回车键退出
...
”)
15.为保护环境,很多城市开始对垃圾实行分类,便于更好的进行处理,为了让大家了解
垃圾的分类情况,建立了以下四类列表,
list1
(可回收垃圾)、
list2
(有害垃圾)、
list3
(易腐垃圾),剩下的为其他垃圾,目前,列表中已经存储了以下数据。
list1=["
玻璃瓶
","
旧书
","
金属
","
纸板箱
","
旧衣服
","
易拉罐
"]
list2=["
胶片
","
消毒水
","
纽扣电池
","
水银温度计
","
过期药水
","
泡沫塑料
"]
list3=["
动物内脏
","
菜叶菜梗
","
过期食品
","
香蕉皮
","
果壳
"]
根据现有列表,完成以下问题:
(1)
写出从列表
list3
中取出“过期食品”的表达式:
___________________________________________________________________________
(2)
写出从
list1
中截取
["
旧书
","
金属
","
纸板箱
"]
这一段的表达式:
___________________________________________________________________________
(3)
现又发现一个新的列表如下:
list4=["
过期化妆品
","
过期药品
","
杀虫剂
"],
经
过判断,里面
存放的为有害垃圾,如何将该列表中的元素添加到
list2
中,请写出相关的表达式:
__________________________________________________________________________
(4)
小明在路上捡到了一个塑料瓶,判断为可回收垃圾,写出相关表达式,将塑料瓶添加到
列表
list1
中:
__________________________________________________________________________
16.学校气象小组使用自动测温仪在校园测量了
1
月
12
日的气温,并利用
Python
绘制了
这天的气温图,该图如下所示:
(
1
)在以上
Python
程序中,变量
Y
的数据类型是
_________
。
(
2
)在以上
Python
程序中,第
8
行横线处的代码是
_________
。
(
3
)通过观察,气温釆样间隔时间是
_________
个小时。
17.现在有一个程序用来解决以下问题:如果有总量共
1020
个西瓜,第一天卖掉总数的一
半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?
请将下列程序补充完整。
tc=1020
c=0
while ______________ :
tc=tc-(tc/2+2)
_____________
print(c)
18.已知
6
月份
10
位技术考试成绩:
1
78
2
88
3
89
4
90
5
83
6
76
7
75
8
98
9
100
10
65
技术老师想统计出
80
分(含
80
)以上的人数,请完善程序,代码如下:
a=[78,88,89,90,83,76,75,98,100,65]
______
sum=0
for i in range(n):
if a[i]>=80:
________
print(sum)
执行上述程序段后,输出的内容是
______
19.求解
a
到
b
内(包含
a
和
b
)所有的质数,并对每个质数的每一位数字求和。请完善
程序。程序如下:
import math
def IsPrime(i):
if i==1:
return False
for j in range(2,int((i))+1):
if____:
return False
return True
a=int(input("
请输入
a:"))
b=int(input("
请输入
b:"))
summ=0
for i in range(a,b+1):
if IsPrime(i):
________
while t>0:
summ=summ+t%10
_________
print("
数字和为
:",summ)
20.辗转相除法,又称欧几里德算法,用于计算两个正整数
m
、
n
的最大公约数。它是已
知最古老的算法,其可追溯至公元前
300
年前。
辗转相除法的算法步骤是,对于给定的两个正整数
m
、
n
(
m>n
),用
m
除以
n
得到余数
r,若余数
r
不为
0
,就将
n
和
r
构成新的一对数(
m=n
,
n=r
),继续上面的除法,直到余
数为
0
,这时m就是原来两个数的最大公约数。因为这个算法需要反复进行除法运算,故
被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法回答问
题。
描述一
描述二
描述三
①输入两个正整数
m,n
(
m>n
);
②计算
m
除以
n
所得的
余数
r
;
③
m=n,n=r
;
④若
r=0,
则
m,n
的最大公
约数等于
m
;否则转到
步骤②;
⑤输出最大公约数
m;
⑥结束。
(
1
)描述一是
________
描述法;描述二是流程图描述法;描述三是计算机程序语言描述
法。
(
2
)在描述三中代码
4
到
6
行作用是
__________
。
(
3
)在描述三程序设计中,补充代码第
8
行划线处为
__________
。
21.小强开展网上直播售货,为此购买了以下直播硬件设备:①手机②耳机③自拍杆④数
码照相机⑤背景画⑥无线路由器
请回答下列问题:
(
1
)在购买的直播硬件设备中,属于模数转换的设备是
__________
(多选,填序号)
(
2
)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是
1080*1920
像
素、
24
位真彩色、帧频为
25fps
,视频压缩比为
100:1
,在不考虑视频传输优化的情况下,
问小强家目前
10Mbps
的宽带
__________
(选填:能
/
不能)满足直播要求。请列式证明
__________
。
(
3
)小强将某一天的售货情况从平台导出,保存为文件
.数据已按“流水号”升
序排序,如图
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())
’
数据可视化代码略
22.某餐馆近期推出“消费
1000
元及以上享受
8
折优惠,
1000
元以下享受每满
100
减
15
优惠”的活动。以下
Python
程序段实现了生成顾客消费清单的功能,请补全①②③处代
码。
def gs(n): #
字符串长度统一
if len(n)>=5:
n=_____ #
取字符串的前
5
个字符
else:
n=n+" "*(5
-
len(n))
return n
r=1000;x=100;y=15;z=0.8 #
从系统中分别获取消费额度、满和减以及打折的数值
dis=["
红烧排骨
","
香炸刀鱼
","
虾仁
","
菜心
","
米饭
"] #
某顾客所点菜品名称
num=[1,1,1,1,3] #
某顾客所点菜品数量
mon=[46,45,68,16,1] #
某顾客所点菜品单价
print("
菜品名称
","
数量
","
小计
")
_____
for i in range(len(dis)):
print(gs(dis[i]),num[i]," ",num[i]*mon[i])
s=s+num[i]*mon[i]
if s>=r:
total=s*z
else:
______
print("
消费合计
:",s)
print("
应收现金
:",total)
23.某企业开展“运动打卡
动动有奖”活动:若员工在本月累计运动时间
30
小时以下,
奖励
0
元;达到
30
但不足
45
小时奖励
300
元;达到
45
但不足
60
小时奖励
450
元;
60
小
时及以上奖励
500
元。小强用
python
编写程序实现相关功能:输入某员工本月累计运动时
间(时),输出其能获得的奖励金额。
(
1
)实现上述功能的程序如下,请在划线处填入合适的代码。
t=int
(
input
(“请输入您本月累计运动时间(时):”))
if t<0
:
(“输入错误”)
else
:
if t<30
:
①_
elif t<45
:
m=300
②_____
m=450
else
:
m=500
(“您的奖励是:”,
m
)
(
2
)当输入“
-1
”时,输出信息为
_________
(选填,填字母:
A
.输入错误
/ B
.您的奖
励是:
0 / C
.您的奖励是:
500
)
24.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过
增加一个校验位使得传输的二进制码中“
1
”的个数恒为奇数或偶数,因此该校验码也分为
“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加
一个校验位(
0
或
1
),使得“
1
”的个数为奇数;接收端接收并统计每个字节及其校验位
中“
1
”的个数,若为偶数,则意味着传输过程中存在差错。例如:
接收到的每个字节及校验码
100101001
011010101
101011010
1
的个数
4
5
5
传输正误
错误
正确
正确
根据以上原理,小强编写了一个
Python
程序,对接收到的
9
位二进制编码进行“奇校
验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。
请回答下列问题:
(
1
)若接收到的二进制码为“
101011011
”,传输过程
__________
(选填:是
/
否)存在差
错。
(
2
)实现上述功能的
Python
程序如下,请在划线处填入合适的代码。
s=input("
请输入
9
位二进制编码
:")
code={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"}
k=0;p=0;ans=“”
for i in s:#
统计
9
位二进制编码中“
1
”的个数
k=k+int(i)
if ____:
print("
传输错误
!")
else:
print("
传输正确
!")
for j in range(0,8,4):
p=int(s[j:j+4],2)
# int(x,[base]):
将
x
(字符串或者数字)按照
base
进制转换成整数
if 0<=p<=9:
ans=ans+str(p)
else
:
ans=___
print("
字节编码用十六进制表示
:"
,
___
25.某市普通高中选课数据如图
1
所示,学生从地理、化学、生物等科目中选择三门作为
高考选考科目,“1”表示已选择的选考科目。使用
Python
编程分析每所学校各科目选考
的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图
2
图
1
图
2
实现上述功能的
Python
程序如下
:
import pandas as pd
import itertools
#读数据到
pandas
的
DataFrame
结构中
df
=
________ (
”
”
,sep
=‘
.
’
,header
=‘
infer
’
,encoding
=‘
utf
-8
’)
km
=
[
‘物理’
,
‘化学’
,
‘生物’
,
‘政治’
,
‘历史’
,
‘地理’
,
‘技术’
]
#按学校分组计数
sc
=
y(
‘
___________
’
,as_index
=
False).count()
#对分组计数结果进行合计
,
合计结果转换为
DF
结构并转置为行
df_sum
=
ame(data
=
()).T
df_sum[
‘学校代码’
]
=‘合计’
#增加"合计"行
result
=
(df_sum)
#百分比计算
df_percent
=
df_sum
df_percent[
‘学校代码’
]
=‘比例’
for k in km:
per
=
df_[
0
,k]/zrs
df_percent[k]
=
per
#增加"百分比"行
result
=
(df_percent)
#删除"姓名"列
result
=
______________
#修改"学生编号"为"总人数"
result
=
(columns
=
{
‘学生编号’
:
‘总人数’
})
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713098059a2182551.html
评论列表(0条)