您现在的位置是:首页 > 技术教程 正文

python提取身份证中的生日和性别

admin 阅读: 2024-03-23
后台-插件-广告管理-内容页头部广告(手机)

1.代码

  1. def sfzAnalysis(idNum):
  2. #检查身份证长度是否正确
  3. if len(idNum)!=18:
  4. raise ValueError("身份证号码长度不正确,请输入一个18位的身份证号码。")
  5. #raise关键字在Python中有多种用途,主要涉及异常的抛出和错误处理
  6. #提取出生日期
  7. year = idNum[6:10]
  8. month = idNum[10:12]
  9. day = idNum[12:14]
  10. birthday = "{}年{}月{}日".format(year,month,day)
  11. #提取性别
  12. gender_code = int(idNum[16])
  13. gender = "女" if gender_code % 2 ==0 else "男"
  14. return birthday,gender
  15. try:
  16. idNum = input("请输入您的身份证号码:")
  17. birthday,gender = sfzAnalysis(idNum)
  18. print("出生日期:",birthday)
  19. print("性别:",gender)
  20. except ValueError as e:
  21. print("处理身份证号码时发生错误:",e)

2.分析:

1. 我们的身份证号码是一串18位的数字,其中包含了许多关于持有人身份的信息,比如出生日期和性别。前6位是地区码,接下来的8位是出生日期,然后是顺序码和性别码,
最后一位是校验码。性别由倒数第二位表示,奇数为男,偶数为女。
2.解析身份证号码中的出生日期,出生日期位于身份证的第7位到第14位,格式为YYYYMMDD。例如,如果身份证号码的这部分数字是19900101,则表示持有人的出生日期为1990年1月1日。
 3.解析身份证号码中的性别,性别由身份证的倒数第二位(第17位)决定,如果这一位是奇数,则持有人为男性;如果是偶数,则为女性。

 3.扩展

1.在Python中,try语句用来捕获和处理在执行代码块时可能发生的异常。的基本结构如下:

try:
    # 尝试执行的代码块
except 异常类型:
    # 如果发生异常,则执行这里的代码
finally:
    # 无论是否发生异常,都会执行这里的代码(可选)

(1.)try 块:在这个块中的代码是你希望正常执行的代码。如果在这个块中的代码引发了异常,执行将立即跳到 except 块(如果有的话)。
(2.)except 块:这个块用于捕获和处理异常。except 关键字后面跟着你想要捕获的异常类型。如果 try 块中的代码引发了指定的异常类型,则执行 except 块中的代码。你可以捕获多个不同的异常类型,每个类型对应一个 except 子句。
(3.)finally 块(可选):这个块中的代码无论是否发生异常都会执行。这适用于清理代码,比如关闭文件或释放资源。finally 块在 except 块之后执行,即使有 return、continue 或 break 语句。

2.在Python中,raise关键字用于主动抛出一个异常。当你在程序中检测到某个错误条件时,可以使用raise来立即停止程序的执行,并抛出一个异常,这样可以避免程序继续运行可能导致更严重的问题。

(1.)raise关键字是必须的,因为它用于主动抛出异常,而不是让程序默默地处理错误或者给出一个错误提示。
(2.)ValueError是用来指定抛出的异常类型,它是一个内置的异常类型,表示“值错误”。如果你认为其他类型的异常更适合,比如IndexError或TypeError,你可以更改它。但是,你需要确保使用的异常类型与你想要表达的错误情况相匹配。

3.Python中使用format方法对字符串进行格式化的一个例子。

(1.){} 是一个占位符,用于在格式化字符串中插入变量值。
(2.)format 是一个内置函数,用于将格式化的字符串与变量值结合起来。它接受一个或多个变量,并根据占位符的位置将这些变量值插入到字符串中。

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜