首页 > 编程语言 >py小程序:根据身份证号提取出生日期、性别、年龄

py小程序:根据身份证号提取出生日期、性别、年龄

时间:2023-06-25 18:14:46浏览次数:38  
标签:gender py 身份证号 num birth date 出生日期 id

py小程序:根据身份证号提取出生日期、性别、年龄
━━━━━━━━━━━━━━━━━━━━━━

你可以使用 Python 编写一个小程序,根据输入的身份证号码提取出生日期、性别、年龄。下面是可能的实现方式。

import datetime

def get_info_from_id(id_num):
    # 从身份证中提取出生日期
    birth_year = int(id_num[6:10])
    birth_month = int(id_num[10:12])
    birth_day = int(id_num[12:14])
    birth_date = datetime.date(birth_year, birth_month, birth_day)

    # 计算年龄
    today = datetime.date.today()
    age = today.year - birth_year - ((today.month, today.day) < (birth_month, birth_day))

    # 提取性别
    gender = int(id_num[-2])
    if gender % 2 == 0:
        gender = "女"
    else:
        gender = "男"

    return birth_date, gender, age

这个程序中,我们首先从身份证号码中提取出生日期,然后计算当前年龄。计算年龄的方式是通过当前日期减去出生日期,并考虑出生月份和日期对当前月份和日期的影响。然后,我们从身份证号码中提取性别信息。性别信息位于身份证号码的倒数第二位,奇数表示男性,偶数表示女性。

可以将上面的程序集成到一个交互式的 Pyhton 小程序中,在命令行或终端中显示输出结果,如下所示:

id_num = input("请输入身份证号码:")
birth_date, gender, age = get_info_from_id(id_num)
print("出生日期:", birth_date)
print("性别:", gender)
print("年龄:", age)

标签:gender,py,身份证号,num,birth,date,出生日期,id
From: https://www.cnblogs.com/nxhujiee/p/17503598.html

相关文章

  • ssh-copy-id命令解析
    ssh-copy-id把本地主机的公钥复制到远程主机的authorized_keys文件上,给远程主机的用户主目录(home)和~/.ssh,和~/.ssh/authorized_keys设置合适的权限。把本地的ssh公钥文件安装到远程主机对应的账户下ssh-copy-id-i-i指定公钥文件id_rsa.pub和id_rsa。前者是你的公钥,后......
  • 后悔没早知道这些Python特性
    写Python也好几年时间了。讲道理,在工作中大家肯定遇到过这样的场景:这个故事告诉我们什么?先造轮子再去GitHub?还是提高下GitHub搜索技巧?都不是!实际上,在日常的工作中,我们很多需求,无论是常见的、还是不常见的,Python都为我们提供了一些独特的解决方案,既不需要自己造轮子,也不需要引......
  • Python 中的 JSON 操作:简单、高效的数据交换格式
    在现代的数据交换和存储中,JSON(JavaScriptObjectNotation)作为一种轻量级的数据交换格式,备受青睐。它不仅易于阅读和理解,还可以灵活地表达和存储高维数据。本文将介绍如何在Python中操作JSON文件,实现数据的序列化和反序列化。1.JSON数据格式JSON格式采用键值对的方式......
  • #py程序:列出100以内所有素数
    py程序:列出100以内所有素数以下是一个python程序,用来列出100以内所有素数。fornuminrange(2,101):foriinrange(2,num):if(num%i)==0:breakelse:print(num)程序首先循环遍历2到100之间的所有数字。每个数字都通过第二个......
  • Bert PyTorch 源码分析:一、嵌入层
    #标记嵌入就是最普通的嵌入层#接受单词ID输出单词向量#直接转发给了`nn.Embedding`classTokenEmbedding(nn.Embedding):def__init__(self,vocab_size,embed_size=512):super().__init__(vocab_size,embed_size,padding_idx=0) #片段嵌入实际上是......
  • python基础
    输入#程序会停止,直到接受到你输入的值为止name=input("请输入您的名字")数据类型(字面量)数字:int整数float浮点数complex复数(4+3j)bool布尔字符串:str字符串列表:list列表元组:tuple元组集合:set集合字典:dict字典字符串拼接print("我是"+name)#普通拼......
  • py程序:写一个保存文本到文件的函数
    py程序:写一个保存文本到文件的函数━━━━━━━━━━━━━━━━━━━━━━以下是一个Python函数,用来将给定的文本字符串保存到指定的文件中:defsave_text_to_file(text,filename):withopen(filename,'w')asf:f.write(text)该函数使用Python的内置o......
  • Python动态修改实例对象的方法
    代码如下:importtypes#定义一个类classMyClass:deforiginal_method(self):#原始的执行函数print("原始的执行函数")#创建类的实例my_object=MyClass()#定义新的执行函数defnew_function(self):#在这里定义新的执行函数prin......
  • Scrapy_FormRequest对象的使用
    FormRequest是Request的扩展类,具体常用的功能如下:请求时,携带参数,如表单数据从Response中获取表单的数据FormRequest类可以携带参数主要原因是:增加了新的构造函数的参数formdata。其余的参数与Request类相同.formdata参数类型为:dictclassscrapy.http.FormRequest(ur......
  • Scrapy_Request对象Cookie的演示
     Cookie的使用importscrapyclassCookieSpider(scrapy.Spider):name="爬虫名"allowed_domains=["域名.com"]start_urls=["url地址"]defstart_requests(self):forurlinself.start_urls:cookie......