agherh- 2022-04-28 10:10 采纳率: 57.1%
浏览 184
已结题

Python:身份号码验证

输入:第一行为一个数字n,表示后面有n行待判定的号码
第二行起每行为18个数字的字符串,表示要验证的身份证号码
输出:一个数值,表示正确的身份证的个数

  • 写回答

2条回答 默认 最新

  • 不会长胖的斜杠 后端领域新星创作者 2022-04-28 10:23
    关注

    望采纳,谢谢!

    def iscur(id):
        ten = ['X', 'x', 'Ⅹ']
        ID = ["10" if x in ten else x for x in lis]     #将罗马数字Ⅹ和字母X替换为10
        W = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
        Checkcode = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]
        sum = 0
        for i in range(17):     #https://blog.zeruns.tech
            sum = sum + int(ID[i]) * W[i]
        if Checkcode[sum % 11] == int(ID[17]):
            return True
        else:
            return False
    
            
    n = int(input("身份证个数:"))
    count = 0
    for i in range(n):
        try:
            lis = list(input())
            if iscur(lis):
                count += 1
        except:
            pass
    print(count)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月6日
  • 已采纳回答 4月28日
  • 创建了问题 4月28日

悬赏问题

  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择