寻找2020蓝桥杯真题python解法

该文章描述了一个Python代码示例,用于处理矩阵数据。代码计算了在300x300的矩阵中,水平、垂直和对角线方向连续四个数字2020出现的次数。通过双重循环遍历矩阵,对每个子串进行字符串连接和比较,更新计数器。
摘要由CSDN通过智能技术生成

题目描述

解题思路 

由于数据较长先算出该矩阵的行和列的长度

data='''题给数据'''
data=data.split('\n')
print(len(data))#3oo一共多少行
print(len(data))#3oo一行多少个数据既是多少列

然后用双层循环依次遍历寻找符合条件的值,注意切片切出来是列表所以要用.join()转换成字符串进行判断

代码

    N=300
    array=[list(input()) for _ in range(N)]
    cnt=0
    for i in range(N):
        for j in range(N):
            if j<=N-4:
                if ''.join(array[i][j:j+4])=='2020':#切完片是是列表要用.join()变换成字符串
                    cnt+=1
                if i<=N-4:
                    if array[i][j]+array[i+1][j+1]+array[i+2][j+2]+array[i+3][j+3]=='2020':
                        cnt+=1
            if i<=N-4:
                if array[i][j] + array[i + 1][j] + array[i + 2][j] + array[i + 3][j] == '2020':
                    cnt += 1
    print(cnt)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值