输入身份证号码输出对应省份

img


写出来总是出错,👀请教大佬们

方法:
1、 首先做一个字典,把号码与省份列出来
2、 输入身份证号,截取前面2位
3、 截取值和字典对照,输出省份

dic = {'11': '北京市', '12':'天津市', '13':'河北省', '14':'山西省', '15':'内蒙古自治区',
       '21':'辽宁省', '22':'吉林省', '23':'黑龙江省',
       '31':'上海市', '32':'江苏省', '33':'浙江省', '34':'安徽省', '35':'福建省', '36':'江西省', '37':'山东省',
       '41':'河南省', '42':'湖北省', '43':'湖南省', '44':'广东省', '45':'广西壮族自治区', '46':'海南省',
       '50':'重庆市', '51':'四川省', '52':'贵州省', '53':'云南省', '54':'西藏自治区',
       '61':'陕西省', '62':'甘肃省', '63':'青海省', '64':'宁夏回族自治区', '65':'新疆维吾尔自治区',
       '71':'台湾省', '81':'香港特别行政区', '82':'澳门特别行政区'}

while True:
    num = input('请输入身份证号码: ')
    if num == '':
        break
    num = num[0:2]
    for a,v in dic.items():
        if num == a:
            print(v)
            break
    else:
        print('号码不正确')
        continue


img

如有帮助,请点击 采纳。 谢谢

area={"11":"北京","12":"天津","13":"河北","14":"山西","15":"内蒙古",
      "21":"辽宁","22":"吉林","23":"黑龙江","31":"上海","32":"江苏",
      "33":"浙江","34":"安徽","35":"福建","36":"江西","37":"山东",
      "41":"河南","42":"湖北","43":"湖南","44":"广东","45":"广西",
      "46":"海南","50":"重庆","51":"四川","52":"贵州","53":"云南",
      "54":"西藏","61":"陕西","62":"甘肃","63":"青海","64":"宁夏",
      "65":"新疆","71":"台湾","81":"香港","82":"澳门"}
s=input('输入身份证号码:')
print(area[s[:2]])