Python判断身份证是否合法
利用正则表达式实现对身份证合法程度的判断
1 # !usr/bin/env python3
2 # coding:utf-8
3 """
4 @ Copyright (c)2020,高铁学院学生
5 @ All rightsreserved
6 @ Author: LingluSenior
7 @ Blog(个人学习网): xlcybk.github.io
8 @ WeChat Official Account(微信公众号): LingluSenior
9
10 @ File: idcard_legal.py
11 @ Time: 2020/5/28 10:48
12
13 @Motto: 不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
14 """
15 import re
16 while(True):
17 id_card = input("请输入身份证号码:")
18 key = "^[1-9]{2}\d{4}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$"
19 brea = re.match(key,id_card)
20 if brea != None :
21 print(brea.group())
22 print("你的身份证号码为:" + brea.group())
23 year = int(id_card[6:10]) # 截取年份
24 month = int(id_card[10:12]) # 截取月份
25 day = int(id_card[12:14]) # 截取日期
26 sex = int(id_card[16]) #截取性别奇数为男反之为女
27 print("你的出生年日期为:%s" % year, month, day)
28 if sex % 2 == 0:
29 print("该身份证号码的持证人为女性")
30 else:
31 print("该身份证号码的持证人为男性")
32
33 print("=" * 30)
34 break
35 else :
36 print("匹配失败,请重新输入")
Python判断身份证是否合法的更多相关文章
- lintcode:Valid Sudoku 判断数独是否合法
题目: 判断数独是否合法 请判定一个数独是否有效.该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 样例 下列就是一个合法数独的样例. 注意 一个合法的数独(仅部分填充)并不一定是可解的.我们 ...
- 使用 python 进行身份证号校验
使用 python 代码进行身份证号校验 先说,还有很多可以优化的地方. 1.比如加入15位身份证号的校验,嗯哼,15位的好像没有校验,那就只能提取个出生年月日啥的了. 2.比如判断加入地址数据库,增 ...
- LintCode389.判断数独是否合法
LintCode简单题:判断数独是否合法 问题描述: 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项: 一个合法的数独(仅部分填充)并不一定是可解的.我们 ...
- python判断字符串
python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...
- YTU 3001: 判断操作是否合法(栈和队列)
3001: 判断操作是否合法(栈和队列) 时间限制: 1 Sec 内存限制: 128 MB 提交: 4 解决: 2 题目描述 假设以I和O分别表示进栈和出栈操作,栈的初态和终态均为空,进栈和出栈的 ...
- 【Python备忘】python判断文件和文件夹是否存在
python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...
- python 判断连个 Path 是否是相同的文件夹
python 判断连个 Path 是否是相同的文件夹 import os os.path.normcase(p1) == os.path.normcase(p2) normcase() 在 windo ...
- Python判断列表是否已排序的各种方法及其性能分析
目录 Python判断列表是否已排序的各种方法及其性能分析 声明 一. 问题提出 二. 代码实现 2.1 guess 2.2 sorted 2.3 for-loop 2.4 all 2.5 numpy ...
- juqery 判断所有input 不能为空 判断只能为数字 判断身份证号:18位和15位 判断是否银行卡号
//jq 判断某字符串是否含有特殊符号 function CheckNum() { //定义数组保存特殊字符 var AllNumIsSame = new Array("’", & ...
随机推荐
- 《鸟哥的Linux私房菜》部分章节学习笔记整理
简介 此笔记为<鸟哥的Linux私房菜·基础学习篇>中部分章节的学习笔记. 目录 0 计算机概论 1 Linux是什么与如何学习 2 主机规划与磁盘分区 3 安装CentOS7.x 4 首 ...
- day12.函数其它与模块1
一.函数递归 函数的递归调用:是函数嵌套调用的一种特殊形式 具体指的是在调用一个函数的过程中又直接或者间接地调用自己,称之为函数的递归调用 函数的递归调用其实就是用函数实现的循环 # def f1() ...
- TEX Quotes UVA-272
TEX is a typesetting language developed by Donald Knuth. It takes source text together with a few ...
- k8s 使用nfs做provisioner
官方的nfs provisoner,serviceAccount RABC相关 请在这里下载https://raw.githubusercontent.com/kubernetes-incubator ...
- linux too many open files 问题总结
问题描述: kubernetes 集群使用promtail收集日志,发现一段时间有些机器日志收集不到查看promtail日志出现以下报错: error="filetarget.fsnotif ...
- JMeter日志查看
- http文件下载与404
# http文件下载与404 if (!file_exists($file_path)) { header('HTTP/1.1 404 Not Found'); header("status ...
- hdu4494
题意: 给你一些任务,每个任务有自己的开始时间和需要多久能干完,还有就是每个任务都需要一些人,这些人有最多五个种类,各种类之间的人不能相互替换,但是某些工人干完这个活后如果可以在另一个任务 ...
- UVA10340子序列
题意: 给你两个串,问你第二个第一个串是否是第一个串删除0个或多个字母得到的? 思路: 直接模拟就行了,在第二个串中去按顺序更新第一个串的下标,好像没说明白啊,不管了,水题,不 ...
- Day007 递归
递归 定义 A方法调A方法!就是自己调自己 作用 利用递归可以用简单的程序来解决一些复杂的问题.它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程 ...