专栏首页大数据技术栈Python版 IMEI 验证

Python版 IMEI 验证

验证规则

1.区分imei的奇数位和偶数位。 2.奇数位相加。 3.偶数为乘以2,若小于10则直接相加,大于10则对十位数和个位数进行相加。 4.奇数位相加之和与第3步逻辑只和相加,获取到一个数字。 5.得到的数字与10进行取余,余数若为0,则验证位数字为0,若余数不为0,则验证位为(10-余数)。

python 代码

这里就不啰嗦了 ,代码如下:

def isImei(imei):
    try:
        imeiChar = list(imei)  # .toCharArray()
        resultInt = 0
        i = 0
        while i < len(imeiChar) - 1:
            a = int(imeiChar[i])
            i += 1
            temp = int(imeiChar[i]) * 2
            b = (temp - 9, temp)[temp < 10]  # temp if temp < 10 else temp - 9
            resultInt += a + b
            i += 1
        resultInt %= 10
        resultInt = (10 - resultInt, 0)[resultInt == 0]
        crc = int(imeiChar[14])
        return resultInt == crc
    except:
        return False

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 简谈 HDFS 的高可用 HA

    作为一个服务提供者,高可用是一个不得不说的话题,那么今天我们就来聊一聊 HDFS 的高可用,我们主要从以下几点来简单说一说:

    solve
  • Hive知识归纳——详解 hive 各个知识点

    CREATE FUNCTION [db_name.] function_name AS class_name [USING JAR|FILE|ARCHIVE...

    solve
  • Hadoop环境搭建--Linux 环境准备

    我这里有两个网卡,一个是循环网卡,这里我们主要关注网卡 eth0:可以看到我的 IP地址外 192.168.6.139,网络掩码是 255.255.255.0

    solve
  • 译《ES6的6个小特性》

    Six Tiny But Awesome ES6 Features.md JS社区的每个人都喜欢新的API、语法以及一些简单、明了更高效的完成重要任务的新特性...

    前端黑板报
  • vue组件el-dialog重新执行mounted方法的技巧

    在Vue开发中,有时需要我在同一个列表中,多次加载同一个组件,但问题来了。 该组件只在页面加载中,加载一次,后面不会再加载了,如el-dialog,解决办法如...

    星痕
  • 40道+JavaScript基础面试题(附答案)

    来源 | https://segmentfault.com/a/1190000015288700

    winty
  • 巧用Python搭建你的用户价值模型

    最近在做一个用户评分模型的项目,这个模型的目的就是用来判断用户的价值。希望通过各种指标来给用户综合打分,每个用户最后会得到一个分值,分值越高,说明用户的价值越高...

    1480
  • 实战—用户价值模型搭建

    张俊红
  • 有多少创业公司是依据虚荣数据分析?

    导读:有多少创业公司是依据虚荣数据分析,沾沾自喜而察觉不到真正的危险! ? 引 言 数据分析离不开对企业关键指标的跟踪。这些指标与你的商业模式(即营收来源、支...

    灯塔大数据
  • 当Java遇到XML 的邂逅+dom4j

    房上的猫

扫码关注云+社区

领取腾讯云代金券