头歌python 身份证号的奥秘 您所在的位置:网站首页 性别男的身份证号码 头歌python 身份证号的奥秘

头歌python 身份证号的奥秘

2024-06-26 02:46| 来源: 网络整理| 查看: 265

第1关:判断性别 任务描述

通过身份证的第17位也就是倒数第二位的数字可以辨别该身份证所属人的性别,奇数为男性,偶数为女性。 本关任务:输入身份证号,第17位若是偶数,输出男性,否则输出女性

相关知识

为了完成本关任务,你需要掌握: 1.如何截取字符串的一个字符 2.判断一个数是奇数还是偶数 3.分支语句

如何截取字符串的一个字符 在这里插入图片描述

如何判断一个数是奇数还是偶数 通过判断一个数除以2的余数是否为0,可以判断一个数是奇数还是偶数。 如果一个数除以2的余数为0,则该数是偶数,否则为奇数 分支语句 在这里插入图片描述

编程要求

根据提示,在右侧编辑器补充代码 接收用户输入身份证号 若第17位是偶数,显示女性,否则显示男性

测试说明

平台会对你编写的代码进行测试:

测试输入:请输入身份证号320302196404272039 预期输出: 男性

测试输入:请输入身份证号530127199406163521 预期输出: 女性

代码如下:

sfzh=input("请输入身份证号") #代码开始 sex = sfzh[:17] sex = int(sex) if sex % 2 == 0: print("女性") else: print("男性") #代码结束 第2关:提取出生年月 任务描述

身份证号的第七位到第十位是出生的年份,第十一位到第十二位是出生的月份,第十三位到第十四位是出生的日号。 本关任务:编写一个小程序,输入身份证号,按9999年99月99日格式输出其出生日期。

相关知识

为了完成本关任务,你需要掌握:1.字符串切片,2.格式输出。

字符串切片 在这里插入图片描述

格式输出 在这里插入图片描述

编程要求

根据提示,在右侧编辑器补充代码。 输入身份证号,按9999年99月99日格式输出其出生日期。

测试说明

平台会对你编写的代码进行测试:

测试输入: 请输入身份证号320302196404272039 预期输出: 出生日期1964年04月27日

测试输入: 请输入身份证号530127199406163521 预期输出: 出生日期1994年06月16日

代码如下: sfzh=input("请输入身份证号") #代码开始 year = sfzh[6:10] month = sfzh[10:12] day = sfzh[12:14] print("出生日期%s年%s月%s日"%(year,month,day)) #代码结束 第3关:判断出生地 任务描述

sfz.txt文件中存储了地区编码和地区名称 在这里插入图片描述

身份证的前6位为地区编码,可以在sfz.txt文件中查询到地区编号对应的地区名称 在这里插入图片描述

编写程序,输入身份证号,查询并显示对应的地区名称 若该地区编码不在文件中,显示地区名称 未知

相关知识

为了完成本关任务,你需要掌握:

文件操作字符串的find方法字典的建立字典的查找

文件操作 在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意:字符串.strip(指定字符)方法,返回去除字符串尾部的指定字符后的字符串。若不指定字符,则去除尾部的空格和换行符。

字典的建立 在这里插入图片描述

若要建立以地区编码为键,地区名称为值的字典,可以打开文件,读取一行,将前六个字符(地区编号)作为键,第七个字符到最后(地区名称)作为值,建立字典。 在这里插入图片描述

对所有的行循环,就可以建立所有地区编号和名称的字典。 在这里插入图片描述

字典的查找 .get(,) 在字典中,若存在该键,则返回相应的值,否则返回默认值 如果地区字典dqzd已经建立,通过get方法可以查找编码对应的地区名称,若无法找到,则返回未知 在这里插入图片描述

测试说明

平台会对你编写的代码进行测试:

请输入身份证号530127199406163521 预期输出: 地区名称 云南省昆明市嵩明县

测试输入: 输入身份证号320302196404272039 预期输出: 地区名称 江苏省徐州市鼓楼区

测试输入: 输入身份证号132335195901011867 预期输出: 地区名称 未知

注意:地区名称和地区之间有空格

代码如下: sfzh=input("请输入身份证号") #代码开始 dqzd = {} f1 = open("sfz.txt","r") for line in f1: dqzd[line[:6]] = line[6:].strip() dq = dqzd.get(sfzh[:6],"未知") print("地区名称 {}".format(dq)) #代码结束


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有