以下是一个用Python编写的身份证校验程序:

def check_id(id_num):
    # 检查身份证号码长度是否正确
    if len(id_num) != 18:
        return False

    # 将身份证号码前17位分别乘以对应的系数
    # 系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
    factors = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
    total = sum(int(id_num[i]) * factors[i] for i in range(17))

    # 通过对应的校验码进行验证
    check_code = "10X98765432"
    if check_code[total % 11] != id_num[-1]:
        return False

    return True

# 测试
id_num = input("请输入身份证号码:")
if check_id(id_num):
    print("身份证号码校验通过!")
else:
    print("身份证号码校验不通过!")

此程序通过验证身份证号码的长度和校验码,来判断身份证号码是否有效。其中,身份证号码的前17位分别乘以对应的系数,再将乘积相加,然后用相加的结果对11取模,最后通过对应的校验码进行验证。如果校验通过,则认为身份证号码是有效的


原文地址: http://www.cveoy.top/t/topic/i0R8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录