NCT-Python编程一级-模拟卷1(含答案图文程序填空阅读填空程序试题
一、程序填空
1.现有字典如下,根据题目要求,写出相关的表达式:
xingzuo = { ‘小明’:‘巨蟹座’,‘小红’:‘处女座’,‘小兰’:‘金牛座’}
(1)现要取出小红所对应的星座,写出相关表达式:
___________________________________________________________
(2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。
__________________________________________________________
(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。
字符串截取从某个字符到最后一位 _________________________________________________________
(4)写出删除该字典的表达式:
___________________________________________________________
2.阅读程序。阅读求水仙花数的代码并回答问题。
“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33,请计算并输出所有三位数的水仙花数。
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=random.randint(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 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
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<s≤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.3<s<=6 B.3<=s<=6 C.s>3 and s<6 D.s>3 Or s<=6
8.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。
9.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。
10.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
11.操作说明:打开文件“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(________)
12.操作说明:打开文件“Y:/2/2.py”,在代码窗口指定位置<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(‘最大公约数是:' )
填空:
________ ________ ________ ________ ________
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论