一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:

首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:

Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2

ps:有点繁琐

import functools
l1=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
l2=['1','0','X','9','8','7','6','5','4','3','2']
a=int(input())
ll=[];
for i in range(a):*s,p=input()if(not "".join(s).isdigit() or l2[functools.reduce(lambda acc,x:acc+x[0]*int(x[1]),zip(l1,s),0)%11]!=p): ll.append("".join(s)+p)
print("All passed" if not len(ll) else "\n".join(ll))

1031 查验身份证 (15 分) python相关推荐

  1. C++学习之路 | PTA乙级—— 1031 查验身份证 (15 分)(精简)

    1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2 ...

  2. PAT乙级 1031 查验身份证 (15 分)

    1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2 ...

  3. 【2020模拟考试T1】【PAT乙】1031 查验身份证 (15分)模拟

    problem 1031 查验身份证 (15分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10, ...

  4. PAT 乙级 1031 查验身份证 (15分)

    1031 查验身份证 (15分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2, ...

  5. 1031 查验身份证 (15 分)

    1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2 ...

  6. 乙级--1031 查验身份证 (15分)(中等)

    题目描述:(15) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7 ...

  7. 1031 查验身份证 (15分)_21行满分代码

    立志用更少的代码做更高效的表达 PAT乙级最优题解-->传送门 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配 ...

  8. 2021/05/07 1031 查验身份证 (15 分)

    一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...

  9. 1031 查验身份证 (15 分)

    一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...

最新文章

  1. TokuDB vs Innodb 基准测试对比
  2. Linux Mint 13 root登录
  3. 自己动手实现简易代码生成器、采用文本模板文件生成服务层、服务层接口代码的做法参考...
  4. 汉诺塔的改编题(用栈求解,分别递归和非递归)
  5. 课时 24:Kubernetes API 编程利器:Operator 和 Operator Framework(夙兴)
  6. oracle协议适配器错误00530,oracle监听程序无法启动(TNS-12560: TNS: 协议适配器错误,TNS-00530: 协议适配器错误)...
  7. 三十四、Scrapy中的CrawlSpider
  8. 方立勋_30天掌握JavaWeb_Servlet
  9. python打印所有花数_Python中使用while循环实现花式打印乘法表
  10. mysql怎么设置密码都不正确的一个解决方法
  11. win11如何取消开机自检 windows11取消开机自检的设置方法
  12. 线性表部分知识点小结
  13. L1-036 A乘以B (5 分)—团体程序设计天梯赛
  14. dj打碟怎么学_学DJ打碟怎么提高学习进度
  15. 爬虫入门到精通-headers的详细讲解(模拟登录知乎)
  16. 手机储存卡数据怎么恢复
  17. wps怎么恢复成单页_我告诉你文档两页怎么变成单页
  18. Spring-IoC-03
  19. 〖经典怀念〗新白娘子传奇MV之青姐17部完整原版下载
  20. 从苹果、SpaceX等高科技企业的产品发布会看企业产品战略和敏捷开发的关系

热门文章

  1. win101909要不要更新_近年最稳的Win10更新?Win101909值得升级吗
  2. HDU 1863 (图论基础prim算法)
  3. 深度学习中的 Batch_Size,以及learning rate参数理解(跑pytorch代码时遇到的问题)
  4. java加法处理器 图形界面,java作业设置加法器界面
  5. 论文阅读【A multi-task attention tree neural net for stance classification and rumor veracity detection】
  6. 常用存储器(SRAM、DRAM、NVRAM、PSRAM)简单介绍
  7. 商家们为何在私域流量展开竞争?
  8. 令人头痛的WH_CBT钩子,使窗口前置——泪水+汗水的赞歌
  9. 车辆搜索 -使用triplet loss 训练车辆识别模型
  10. 音乐家们的开源工具箱