省赛题目(4月23日)の答案

本文详细解析了蓝桥杯省赛的Python编程题目,包括字符串拼接、最大字母查找、条件判断、分类讨论等题目的思路和代码实现。通过实例展示了如何利用Python解决竞赛中的常见问题,帮助参赛者理解和掌握解题技巧。
摘要由CSDN通过智能技术生成

迟来的省赛题目(4月23日)答案!

之前题目五答案是错的,这回改对了

对不起,给大家带来 不便

准备好了吗?迎接怪盗基德的到来吧

怪盗キッドを迎えよう(完了,中二病犯了!)

 注:没看过题目的往这里走哦!(有兴趣的可以去康康呀)

省赛题目(4月23日)_怪盗基德的头号女粉的博客-CSDN博客https://blog.csdn.net/A996B/article/details/124364712?spm=1001.2014.3001.5501

题目一:

 好,我们话不多说,上第一道题思路及解法。

        思路:

                        震惊,蓝桥杯省赛竟然考字符串拼接!!

                        那么面对这种题我感觉自己的智商好像被侮辱了!!

                        这道题就只能祭出我们的大杀器了:“+”

                        当当当当,那就是加号!

                        众所周知,加号是python中的程序拼接符。

                        来看看代码吧:

                        啾咪

        代码:

S1 = input()
S2 = input()
print(S1 + S2)

                        轻轻松松30分到手,so easy!!o(* ̄▽ ̄*)ブ 

 题目二:

        思路:

                求出输入之中最大的数字?

                我考试时脑海里的一个蹦出来的解决方案是:

                将输入的内容转换成列表,并使用列表中的max()内置函数了.

                max() 方法返回字符串中最大的字母.

                max()方法语法:max(str)

                参数:str -- 字符串。

                返回值:返回字符串中最大的字母。

举个例子:

str = "this is really a string example....wow!!!"
print("Max character: " + max(str))
#输出结果:
'''
    Max character: y
'''


str = "this is a string example....wow!!!"
print("Max character: " + max(str))
#输出结果:
'''
    Max character: x
'''

        代码: 

N = list(input())
print(max(N))

                        又是轻轻松松40分到手

题目三:

        思路:

         因为我们要判断多个事物,所以要用到条件判断语句:if

         if 语句格式(双重)if (条件):

                                                 代码

                                         else:

                                                  代码

        

         if 语句格式(三重)if (条件):

                                                代码

                                        elif ( 条件 ):

                                                 代码

                                        else:

                                                 代码

                

        代码: 

N = int(input())
a = list(map(int,input().split(",")))
b = 0
for i in a:
    if i <= N:
        b += 1
    elif i <= int(N + 80):
        b += 1
    else:
        continue
print(b)

题目四:

        思路: 

                哎呀,这不是小马过河的题目吗,

                我们要做的就是‘分类讨论’,

                循环判断多种条件

                一.1个1个背

                二.2个2个背

                三.3个3个背

        代码:

n = int(input())            #输入
a = 1                       #一格一格背
b = 2                       #两格两格格背
c = 4                       #三+一(必须加一)格格背
for i in range(1,n-3,1):    #循环结束值为n-3的原因是:三格三格背
    c, b, a = a+b+c, c, b   #像斐波那契数列一样赋值
print(c)                    #打印结果

                50分真不戳,😊😊😊 

题目五:

        思路:

                考试时我不太会,哭唧唧。

                我有暴力枚举法,做出了一下效果。

 

# 说明:
# 所有测试数据正确率为 66%!
# 可以尝试再次完善代码,并调试,争取全部AC通过

                我们一起来看一下其他大神的解法吧@悦儿姐https://blog.csdn.net/weixin_46710559

         代码:

 
def find_left(j,g,s,M):  # 左边找找(M后期赋值 列的意思)
    d=0  # 纯净海域数
    while g<M-1:  # 注意不要超过遍历范围,M为了变成索引号要-1
        if s[j][g]==1:  # 判断是否没被污染
            s[j][g]=0  # 把海污染了
            g+=1  # 往左一块
            d+=1  # 纯净海域数+1
        else:
            break  # 不是就退出
    if d !=0:  # 如果有纯净海域(不管多少,有就行)
        return 1
    else:
        return 0
 
def find_down(j,g,s,N):  # 下面找找,和左边方法一模一样(N后期赋值 行的意思)
    d=0
    while j<N:
        if s[j][g]==1:
            s[j][g]=0
            j+=1  # 往下一块
            d+=1
        else:
            break
    if d !=0:
        return 1
    else:
        return 0
n=input()  # 输入行和列
N=int(n[0])  # 行
M=int(n[2])  # 列(去掉逗号 它算第三个)
s=[]  # 总体大地图
z=0  # 纯净海域数(未被加工 拐角处会算两个)
y=0  # 拐角数(把z减掉y就剩下最终结果了)
for i in range(N):  # 搞N个输入框 达到N行的效果
    a=list(eval(input()))  # 把输入结果转成列表
    s.append(a)  # 把a这个小地图放到s这个大地图里
for j in range(N):  # 行索引号
    for g in range(M):  # 列索引号
        if s[j][g]==1:  # 开始判断拐角
            if ((j<N-1 and s[j+1][g]==1) or (j>0 and s[j-1][g]==1)) and ((g<M-1 and s[j][g+1]==1) or (g>0 and s[j][g-1]==1)):  
#  既满足 下边有 或者 上边有 还满足 右边有 或者 左边有 
                y+=1  # 拐角数+1
 
for j in range(N):
    f
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值