python——地区查询

地区查询

类型:文件

描述

附件文件中包含全国各地区的地区编码,对应身份证的前6位。身份证的前2位代表省名,在文件中可能存在身份证前2位数字后面加4个0的编码,代表省、自治区或直辖市;身份证号前4位代码地区名,在文件中可能存在身份证前4个数字后面加2个0的编码,表示市或地区。省和地区这两个编码也有可能不存在。输入身份证号前6位,查询到该编码对应的省、市、县(区)。某一项查询不到时,返回并输出空字符串。

输入格式

输入身份证号前6位

输出格式

参考示例分三行输出省、市、县(区)

示例 1

输入:

110113

输出:

北京
顺义区

示例 2

输入:

421221

输出:

湖北
咸宁市
嘉鱼县

参考代码

def file_to_dict(area_file):
	"""接收一个表示文件名的字符串为参数,将文件中的数据保存到字典中,返回字典。"""
	area_in_dict = {}
	with open(area_file, 'r', encoding='utf-8') as data:  # 读文件
		for x in data:                                    # 遍历文件对象
			ls = x.strip().split(',')                     # 每行数据切分为列表
			area_in_dict[ls[0]] = ls[1]                   # 得到保存地区编码的字典
	return area_in_dict                                   # 返回地区编码字典


def query_area(area_id, area):
	"""接收身份证号前6位和编码字典为参数,根据身份证前6位的编码查询所在的省、市、区,以元组形式返回。"""
	province = area.get(area_id[:2] + '0000', '')  # 省、直辖市和自治区
	city = area.get(area_id[:4] + '00', '')        # 市或地区
	area = area.get(area_id)                       # 县或区
	return province, city, area


if __name__ == '__main__':
	areaFile = 'IDcode.txt'
	areaId = input()
	area_dict = file_to_dict(areaFile)       # 调用函数读文件返回地区码字典
	address = query_area(areaId, area_dict)  # 调用函数查询省、市和区
	print(address[0])                        # 输出
	print(address[1])
	print(address[2])
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_62488776

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值