[关闭]
@yang757078181 2015-06-05T05:46:12.000000Z 字数 1959 阅读 344

项目七 校验身份证号码真伪

---综合训练报告

题目:校验身份证号码真伪
姓 名:杨文杰,顾生权
学 号:1403050126、1403050106
专 业:安全工程(通风)
班 级:通风14-1班
指导教师:邓立军
职 称:讲师

                    2015年5月21日

目录

综合训练报告 题目:校验身份证号码真伪 1.摘要
2.问题分析
3.程序描述
4.程序运行
5.源程序
6.总结

                               校验身份证号码真伪

1.摘要
随着科技发展和社会进步,,尤其是计算机大范围的普及,计算机应用逐渐由大规模计算的海量数据处理转向大规模的事物处理和对工作流的管理,这就产生以台式计算机为核心的管理系统。
在社会之中,假冒身份证普遍存在着。用计算机检验身份证真假可以减轻人员的劳动强度,又可以提高社会管理效率。

2.问题分析
2.1 全面性
考虑输出全面。所以考虑采用了for循环的方法,以保证其输出的全面性 。
2.2 调取数据
为了使调取学生的信息方便简洁,考虑采用了嵌套词典的方法。嵌套词典,使得调取数据以及增添和删除学生信息、修改学生信息非常方便,实用性较强。
2.3 重复性
为了能显示所有学生的详细信息,有一个重复打印的过冲,需要利用for循环。加一些限定条件来消除重复但是这样做不但会出错,还不能保证它的输出全面性。于是我想在输出的时候加限定条件,使重复的只输出一遍。

3.程序描述
利用for循环,使程序可重复验证身份证的校验码;连续输入身份证的前17位数字,定义一个算式sum=7*a+9*b+10*c+5*d+8*e+4*f+2*g+1*h+6*i+3*j+7*k+9*l+10*m+5*n+8*o+4*p+2*q,计算各位身份证号乘以系数之后的和。之后用求和的值除以11求余数,根据余数所对应的值来得出校验码

4.程序运行

运行校验身份证号码真伪的python文件“身份证校验.py.”

5.源程序

  1. print '欢迎使用校验身份证号码真伪系统'
  2. print '------------------------------'
  3. print ' 1.测试身份证真伪 '
  4. print ' 2.退出 '
  5. print '------------------------------'
  6. a=input('请输入想要进行的操作:')
  7. for s in range(10000):
  8. if a==1:
  9. a=input('请输入第一位数字:')
  10. b=input('请输入第二位数字:')
  11. c=input('请输入第三位数字:')
  12. d=input('请输入第四位数字:')
  13. e=input('请输入第五位数字:')
  14. f=input('请输入第六位数字:')
  15. g=input('请输入第七位数字:')
  16. h=input('请输入第八位数字:')
  17. i=input('请输入第九位数字:')
  18. j=input('请输入第十位数字:')
  19. k=input('请输入第十一位数字:')
  20. l=input('请输入第十二位数字:')
  21. m=input('请输入第十三位数字:')
  22. n=input('请输入第十四位数字:')
  23. o=input('请输入第十五位数字:')
  24. p=input('请输入第十六位数字:')
  25. q=input('请输入第十七位数字:')
  26. sum=7*a+9*b+10*c+5*d+8*e+4*f+2*g+1*h+6*i+3*j+7*k+9*l+10*m+5*n+8*o+4*p+2*q#定义公式,计算各位数字乘以系数之和
  27. #求余数
  28. y = sum%11
  29. #根据余数求其校验码
  30. if y==1:
  31. z=0
  32. elif y==2:
  33. z='x'
  34. elif y==3:
  35. z=9
  36. elif y==4:
  37. z=8
  38. elif y==5:
  39. z=7
  40. elif y==6:
  41. z=6
  42. elif y==7:
  43. z=5
  44. elif y==8:
  45. z=4
  46. elif y==9:
  47. z=3
  48. elif y==10:
  49. z=2
  50. else:
  51. z=1
  52. print '校验码为',z
  53. a=input('请输入想要进行的操作:')
  54. else:

6.总结
“校验身份证号码真伪”的综合训练是我们2人接触python以来第一次有针对性的综合练习。综合训练让我们把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识,同时,在本次综合训练中碰到了很多的问题,我2人通过询求老师同学帮助,在“知乎”等网站搜索相关知识,自我试验探索钻研,逐一解决。在此过程中,我们对python产生了更高的兴趣。
通过这次综合训练,我2人发现了自身的很多不足之处。这周编写代码的过程中,我们遇到错误和不理解之处总是很苦恼,但却更加想解决,这就是学习的乐趣吧。
在整整一星期的日子里,面对一件新事物,从理论到实践,可以说是苦多于甜。这一周的综合训练使我获得了很多在书本上所没有学到过的知识。让我们认识到,只有通过自己动手,自己寻找,才能真正的学习到知识。
通过这次训练我2人对今后python的学习产生了更大的兴趣,同时感谢这周内老师给予我们的指导,和同学给予我们的帮助!

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注