蓝桥杯大赛模拟题一(选择,大题,包含答案)

选择题

== 所有选择题严禁使用程序验证 ==

第一题

设s=’Hello Lan Qiao’,执行print(s[4:11])输出的结果为()

A.lo Lan Qi
B. lo Lan Q
C.o Lan Qi
D.o Lan Q

第二题

循环语句for i in range(8,-4,-2),执行了几次循环()

A. 4
B. 5
C. 6
D. 7

第三题

导入random模块后,执行print(random.randrange(10,100,2)语句,输出的结果可能是()。

A.1
B.24
C.63
D.100

第四题

执行以下程序,输出的结果是()
height={‘小蓝’:80,’小青’:100,’小圃’:70}
height[‘小青’]=70
print(sum(height.values()))

A.220
B.210
C.250
D.70

第五题

导入turtle模块后,执行turtle.circle(80,steps=6)语句,所绘制的图形,以下说法正确的是()

A.绘制出一个半径为80像素的圆
B.绘制出六个半径为80像素的圆
C.绘制出一个半径为80像素的圆和一个六边形
D.绘制出一个半径为80像素的圆内接正六边形

答案:
1.D
解析:实际切片的元素为字符串下标4,5,6,7,8,9,10所对应的字符,不包含11这个末尾下标
2.C
解析:range()范围方法生成序列的参数中,同样不包含末尾参数所示的值。所以该题产生的序列为[8,6,4,2,0,-2]
3.C
解析:随机数模块当中可以使用randrange()随机范围方法,同样,不包含范围的末尾
4.A
解析:此题包含两个字典相关的知识点:一是字典的值更新方法。二是获取字典的全部值
第二行:将“小青”键所对应的值100,更新为70
第三行:使用.values()方法获取字典内所有的值
最后使用sum()求总和方法,求出获取的值的总和
5.D

操作题

== input()输入函数的括号中不允许添加任何信息 ==

第一题

编程实现:给定一个正整数N,计算N除以7的商。

输入描述:输入一个正整数N
输出描述:输出N除以7的商(商为整数)

样例输入:8
样例输出:1

n=input()
n=int(n)
print(n//7)

第二题

编程实现:给定一个正整数N,计算出1到N之间所有奇数的和

输入描述:输入一个正整数N
输出描述:输出1到N之间(包含1和N)所有奇数的和

样例输入:5
样例输出:9

n=input()
n=int(n)
#设置总和变量
s=0
for i in range(1,n+1):
    if i%2==1:
        s=s+i
print(s)

第三题

提示信息:“水仙花数”是指一个三位正整数,其各位数字立方的和等于该数本身。
例如:153是一个“水仙花数”,因为1³+2³+3³等于153.

编程实现:
给定一个正整数N,判断100到N之间有多少个“水仙花数”。

输入描述:输入一个正整数N(100<N<1000)
输出描述:输出100到N之间(包含100和N )有多少个“水仙花数”
样例输入:160
样例输出:1

n=input()
n=int(n)
#设置计算水仙花个数变量
s=0  
for i in range(100,n+1):
    a=i//100
    b=i%100//10
    c=i%10
    if a**3+b**3+c**3 == i:
        s=s+1
print(s)

第四题

编程实现:
有一组连续正整数,随机乱序后生成一组数据后,小蓝不小心删掉了其中一个数,已知所删掉的这个数不是这组数据中最小的也不是最大的,现在请你编写程序帮助小蓝找到删除的那个数。

输入描述:按照“编程实现”中的描述模仿输入一组这样的正整数(正整数之间以英文逗号隔开),在输入的时候少一个数(这个数不是这组数据中最小的也不是最大的),这个数作为小蓝删掉的那个数,且加上小蓝删除的那个数这个数组是连续的

输出描述:输出删除掉的是哪个数

样例输入:3,2,4,6,7

样例输出:5

n=input()
n=n.split(",")
#创建新列表,将输入的每隔数字转换为数字存储
num=[]
for i in n:
    num.append(int(i))
#确定列表的最大值和最小值
a=max(num)
b=min(num)
#根据最大值和最小值确定数字范围然后挨个遍历找到缺少的数字
for i in range(b,a+1):
    if i not in num:
        print(i)

第五题

提示信息:有一个密室逃脱游戏,有100间密室连在一排,密室编号是从1开始连续排列一直排到第100间密室,如下图:
在这里插入图片描述

游戏规则:
1.玩家初始位置在1号密室
2.每次玩家可以进入右边的一个密室,也可以跳过一个密室进入下个密室(如:当玩家当前在3号密室,他可以进入4号密室也可以进入5号密室)
3.有毒气的密室不能进入需要避开

编程实现:
给定三个正整数X,Y,M(X<Y<M<=100),表示三个密室编号,X号密室和Y号密室有毒气泄漏,不能进入,玩家需要进入到M号密室,按照游戏规则进入M号密室有多少种路线方案。

例如:X=2,Y=4,M=7,进入M号密室有2种路线方案,分别是1 -> 3 -> 5 ->6 ->7路线和
1->3->5->7路线

输入描述:输入三个正整数X,Y,M(X<Y<M),X和Y表示有毒气密室编号,M表示需要进入的密室编号,且三个正整数之间以英文逗号隔开

输出描述:输出进入M号密室有多少种路线方案

样例输入:2,4,7
样例输出:2

#获取三个数字并把它们分开
s=input()
s=s.split(",")
x=int(s[0])
y=int(s[1])
m=int(s[2])
#创建方法,分情况讨论
def fib(x,y,m):
    #只有一个房间时,有一种方案
    if m==1:
        return 1
    #只有两个房间并且第二个房间不是毒气房时,有一个方案
    if m==2 and m!=x and m!=y:
        return 1
    #房间为毒气房时,方案数为0
    if m==x or m==y:
        return 0
    #若以上条件都不满足,则使用递归方法,从后向前递归
    return fib(x,y,m-1)+fib(x,y,m-2)
print(fib(x,y,m))

第六题

有一个NN的矩阵方格和N个棋子,现在需要将N个棋子按要求放置到矩阵方格中。
要求如下:
1.任意两个棋子不能在同一行
2.任意两个棋子不能在同一列
3.任意两个棋子不能在同一对角线上(下图红色线段都为对角线)
在这里插入图片描述
根据以上要求,问N个棋子放置到N
N矩阵方格中有多少种放置方案
例如:4*4的矩阵方格,4个棋子,有2种放置方案
在这里插入图片描述

输入描述:输入一个正整数N(1<N<11),表示一个N*N的矩阵方格和N个棋子数量

输出描述:输出N个棋子按要求放置到N*N的矩阵方格中有多少种放置方案

样例输入:4
样例输出:2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值