python星座问题解答入门程序

跪解答

给定如下数据,输入星座名称,系统显示日期,星座字符
输入:水瓶座
输出:水瓶座,1月20日-2月18日,[表情]
输入:水瓶
输出:星座名称输入错误
输入:exit
结束运行

a = ['水瓶座,120,218,9810',
     '双鱼座,219,320,9811',
     '白羊座,321,419,9800',
     '金牛座,420,520,9801',
     '双子座,521,621,9802',
     '巨蟹座,622,722,9803',
     '狮子座,723,822,9804',
     '处女座,823,922,9805',
     '天枰座,923,1023,9806',
     '天蝎座,1024,1122,9807',
     '射手座,1123,1221,9808 ',
     '魔蝎座,1222,119,9809']

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果


import re

a = ['水瓶座,120,218,9810',
     '双鱼座,219,320,9811',
     '白羊座,321,419,9800',
     '金牛座,420,520,9801',
     '双子座,521,621,9802',
     '巨蟹座,622,722,9803',
     '狮子座,723,822,9804',
     '处女座,823,922,9805',
     '天枰座,923,1023,9806',
     '天蝎座,1024,1122,9807',
     '射手座,1123,1221,9808 ',
     '魔蝎座,1222,119,9809']

while True:
    n = input('输入星座:')
    if n == 'exit':
        break
    exists = False
    for i in a:
        if re.match(n, i)!=None and len(n)==3:
            exists = True
            print(re.sub('^([^,]+),(\d+)(\d{2}),(\d+)(\d{2}),(\d+)','\\1,\\2月\\3日-\\4月\\5日,[emoj:\\6]',i))
            break
    if exists == False:
        print('星座名称输入错误')