使用Python改写的身份证信息查询小程序

花了几天时间过了一遍python基础。真心感觉python让世界充满了爱…
先简单的使用一下python好了,拿以前写的《C语言身份证信息查询系统(修改版)》开刀~
很多东西,不需要考虑C语言的细节问题了,很多封装好的功能。方便好多。代码也自然少了好多。
python的‘泡菜’功能也是相当的棒!
import pickle
pickle_file = open('cityid_data.pkl', 'rb')
city = pickle.load(pickle_file)
str = input('请输入身份证号码:')
cid = str[:6]
birth = str[6:14]
cname = city[cid]
num = int(str[1])
tmpsum = int(str[0])*7 + int(str[1])*9 + int(str[2])*10 + int(str[3])*5 + int(str[4])*8 \
+ int(str[5])*4 + int(str[6])*2 + int(str[7])*1 + int(str[8])*6 + int(str[9])*3 \
+ int(str[10])*7 + int(str[11])*9 + int(str[12])*10 + int(str[13])*5 \
+ int(str[14])*8 + int(str[15])*4 + int(str[16])*2;
remainder = tmpsum % 11
sex = int(str[16]) % 2
if sex == 1:
sex = '男'
else :
sex = '女'
maptable = {0: '1', 1: '0', 2: 'x', 3: '9', 4: '8', 5: '7', 6: '6', 7: '5', 8: '4', 9: '3', 10: '2'}
if maptable[remainder] == str[17]:
print('<身份证合法>')
print('性别:' + sex)
print('出生日期:' + birth)
print('归属地:' + cname)
else :
print('<身份证不合法>')
百度网盘真是太讨厌了,链接总是失效。
直接上传到百度文库好了。。。
地址:http://wenku.baidu.com/view/4be42951eff9aef8951e062f.html
生成’泡菜’方法:
city = {'110000':'北京市',
'110100':'北京市市辖区',
...
}
import pickle
pickle_file = open('cityid_data.pkl', 'wb')
pickle.dump(city, pickle_file)
pickle_file.close()
之后,把生成的cityid_data.pkl和上面的python程序放在一起运行就妥妥的了。
使用Python改写的身份证信息查询小程序的更多相关文章
- C语言身份证信息查询系统(修改版)
很久以前写了一个<C语言身份证信息查询系统>,如果你点击链接进去看了. 估计也会被我那磅礴大气的代码震惊到的,最近复习/学习文件操作,把代码改了改,算是对以前还不会文件操作的时候的愿望,哈 ...
- Python 练习冊,每天一个小程序
Python 练习冊,每天一个小程序 说明: Github 原文地址: 点击打开链接 Python 练习冊.每天一个小程序.注:将 Python 换成其它语言,大多数题目也试用 不会出现诸如「 ...
- python学习之最简单的获取本机ip信息的小程序
文章是从我的个人博客粘贴过来的,大家可以直接访问我的个人博客哦 http://www.iwangzheng.com 获取本机ip信息的命令ifconfig总是在用,这次拿到pyhton代码里,感觉py ...
- python 写的员工信息查询
#!/use/bin/env pythonn#_*_ coding:utf-8 _*_import timedef Bre(): while True: Bre_falg = ra ...
- Python全栈开发-有趣的小程序
进度条的打印 import sys,time for i in range(20): sys.stdout.write('$') #stdout是标准输出的意思,在一般电脑上,stdout的 ...
- python利用pysvn发布lib的小程序
背景: 本人在公司的平台部门工作,我们部门写出的代码都是编译成.a文件,定期发布版本到各个产品,现在老大要求我负责每周向公司的某个产品发布lib.发布lib的步骤大概就是自动化的兄弟给我提供一个归档的 ...
- Python 练习册,每天一个小程序----第0000题
题目 第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 Code: from PIL import Image,Imag ...
- Python 每日提醒写博客小程序,使用pywin32、bs4库
死循环延迟调用方法,使用bs4库检索博客首页文章的日期是否与今天日期匹配,不匹配则说明今天没写文章,调用pywin32库进行弹窗提醒我写博客.
- 老男孩python学习之作业一购物小程序
想学编程由来已久 始终没有个结果,痛心不已 如今再次捡起来,望不负期望,不负岁月 ......一万字的废话...... 先介绍一下我的自学课程吧 "路飞学城"的<python ...
随机推荐
- 解决win10开机出现C:\WIndows\system32\config\systemprofile\Desktop不可用 问题
背景:公司一台win10机子好久没用了,今天开了打算用下(打算远程桌面),远程桌面连不上(好久没用了,用户名都忘了),所以又插上显示器和键鼠. 键盘因为是PS/2接口,不能热插拔,所以开机一段时间后( ...
- 走向DBA[MSSQL篇] 面试官最喜欢的问题 ----索引+C#面试题客串
原文:走向DBA[MSSQL篇] 面试官最喜欢的问题 ----索引+C#面试题客串 对大量数据进行查询时,可以应用到索引技术.索引是一种特殊类型的数据库对象,它保存着数据表中一列或者多列的排序结果,有 ...
- PHP微信SDK——Zebra-Wechat
Zebra-Wechat 微信SDK 眼下处于开发状态,眼下实现了下面功能: 接收微信server推送信息,对推送信息类型进行识别 微信APIclient封装(用户管理.用户组管理.客服管理.自己定义 ...
- Arrays.asList的那点事
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List ...
- j2se--Socket沟通
第一次接触Socket课程设计大二,我在做一个图书馆管理系统.源代码是从互联网上下载,代码天天磨,隐约中记得有Socket这么一个单词. 第二次是去年代表学校參加"河北省电子信息职业技能大赛 ...
- 解析grant connect, resource to user语句
今天同事问了一个问题:"创建用户分配的权限是:grant connect,resource to user;,可是建立view的时候失败了,错误是权限不够,后来我给这个用户分配了创建view ...
- 彩色图像--色彩空间 HSI(HSL)、HSV(HSB)
得知DIP文章66日 转载请注明文章出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管.欢迎共同开发:https://g ...
- hdu 1233(还是畅通project)(prime算法,克鲁斯卡尔算法)(并查集,最小生成树)
还是畅通project Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- Linux netstat订购具体解释
简单介绍 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics).masquerade 连接.多播成员 (Multicast Memb ...
- HDU 2120 Ice_cream's world I(并检查集合)
职务地址:HDU 2120 这题尽管字数不多,但就是看不懂. . 意思是求最多有多少个被墙围起来的区域.显然就是求环的个数.然后用并查集求环个数就能够了. 代码例如以下: #include <i ...