Python123 县区查询

描述

附件中的文本文件里包含河北省的地区信息,‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

文件第一行为省名和地级市名,其他每行的第一个地名为地级市名,后面地名为该地区的下辖区、县和县级市的名称,如下所示:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

河北,石家庄,唐山,秦皇岛,邯郸,邢台,保定,张家口,承德,沧州,廊坊,衡水 石家庄,长安区,桥东区,......,藁城市,鹿泉市 唐山,路南区,路北区,......,遵化县,迁安县 秦皇岛,海港区,三海关区......,抚宁县,卢龙县 邯郸,邯山区,丛台区,......,曲周县,武安县 邢台,桥东区,桥西区,......,南宫市,沙河西 保定,新市区,北市区,......,安国市,高碑店市 张家口,桥东区,桥西区,......,赤城县,崇礼县 承德,双桥区,双滦区,......,围场蒙古做自治县 沧州,新华区,运河区,......,河间市,黄骅市 廊坊,安次区,广阳区,......,三河市,霸州市 衡水,桃城区,枣强县,......,深州市,冀州县‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

下面代码可以将该文件的内容读到列表中,运行这段代码,查看输出的列表内容,完成要求的操作:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

with open('hebei.txt', 'r', encoding='utf-8') as file: district_ls = [x.split(',') for x in file] print(district_ls)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(1)如果用户输入的是地级市名,以列表形式输出其下辖所有下辖区、县和县级市名称。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(2)如果用户输入的是市辖区、县或县级市名,则输出其上一级的地级市名,若有的市辖区名在不同地级市中同时存在时,输出全部地级市名。

输入格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入一个地区或县区名‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输出格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输出其下辖所有区县名称或其上一级的地级区名(有的县区名或能在不同地级区中同时存在,则分多行打印几个上级地区名。)

示例1

输入:唐山

输出:['路南区', '路北区', '古治区', '开平区', '丰南区', '丰润区', '曹妃甸区', '滦县', '滦南县', '乐亭县', '迁西县', '玉田县', '遵化县', '迁安县']

示例2

输入:鸡泽县

输出:邯郸

有小伙伴问这道题,所以写在这了。

话不多说,上代码和注释:

with open('hebei.txt', 'r', encoding='utf-8') as file:#打开名为 hebei.txt 的文件,使用 utf-8 编码读取
   ls = [x.replace("\n","").split(',') for x in file]#将文件中每一行的末尾的换行符'\n'删除并用逗号分隔开每个元素
   #最后将每行转换成列表,存储到名为 ls 的列表中
j=0
i=0
s=input()#用户输入地区或县区名,并将其存储到变量s中
if s in ls[0]:
    for i in range(0,len(ls[0])):
        if s==ls[0][i]:
            j = i
            break
#判断用户输入的地区或县区名s是否在列表ls中第一行ls[0]中,如果存在则进行以下操作:
#循环遍历列表ls中第一行ls[0]中的所有元素,如果找到与用户输入的地区或县区名s相同的元素,则将变量j赋值为该元素的下标,退出循环
    ls1=[]
    for i in range(1,len(ls[j])):
        ls1.append(ls[j][i])
    print(ls1)
#则遍历ls中第j行中除第一个元素外的所有元素,将这些元素存储到一个新的列表ls1中,并将其输出
else:
    for i in range(0,len(ls)):
        for j in range(0,len(ls[i])):
            if s==ls[i][j]:
                print(ls[i][0])
#如果用户输入的地区或县区名s不在列表ls中第一行ls[0]中,则遍历列表ls中所有行及每行中的所有元素,
#如果找到与用户输入的地区或县区名s相同的元素,则输出该元素所在行的第一个元素,即其上一级的地级区名

......这么写下来,感觉就没什么好讲的了

看注释理解吧233

Ps:不要关注我,关注就拉黑,不想被关注捏

                                                                                                                     ——快乐的小马

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值