python-网红题2018刑侦科推理测试题

刑侦科推理测试题,终于用python敲出来了,附答案

题目

图片:
2018刑侦科推理试题

网红题 吓退了一大批原本还对刑侦专业跃跃欲试的各路英雄好汉。

解题思路

  1. 生成数组,ABCD替换为1234(本次比较暴力,未做优化)
  2. 分别将数组arr带入题目1-10中,如真则进入下一题
    题目1:
    题目2:arr[1]选项对应值=arr[4]
    题目3:arr[2]选项对应值与其他三项不同,其他三项不一定相同
    题目4:arr[3]选项对应值是否一致
    题目5:arr[4]选项对应值是否一致
    题目6:arr[5]选项对应值是否与arr[7]一致
    题目7:计算次数最少的值,判断是否与arr[6]选项内的值次数一致
    题目8:判断第一题选项与arr[7]选项对应值绝对值是否大于等于2
    题目9:互为真假,arr[0]==arr[5]的布尔值不等于arr[4]==arr[8]选项对应值不一致
    题目10:分别计算1234出现的次数,得出差值,判断与arr[9]对应值一致
    3.题目1-10全部通过,则输出结果,最后得出的结果为
    [2, 3, 1, 3, 1, 3, 4, 1, 2, 1]
    1=B 2=C 3=A 4=C 5=A 6=C 7=D 8=A 9=B 10=A

完整代码



import math

def check1(item):
    return True

def check2(item):
    curIndex=1
    if item[curIndex]==1:
        if item[4] == 3:
            return True
    elif item[curIndex]==2:
        if item[4] == 4:
            return True
    elif item[curIndex]==3:
        if item[4] == 1:
            return True
    elif item[curIndex]==4:
        if item[4] == 2:
            return True
    return False


def check3(item):
    curIndex=2
    if item[curIndex]==1:
        if (item[2]!=item[5]) and (item[2]!=item[3]) and (item[2]!=item[1])  :
            return True
    if item[curIndex]==2:
        if (item[5]!=item[2]) and (item[5]!=item[3]) and (item[5]!=item[1])  :
            return True
    if item[curIndex]==3:
        if (item[1]!=item[2]) and (item[1]!=item[5]) and (item[1]!=item[3])  :
        
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值