l1_____9 2021-11-21 20:22 采纳率: 40%
浏览 60
已结题

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']

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

1条回答 默认 最新

  • CSDN专家-文盲老顾 2021-11-21 20:42
    关注
    
    
    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('星座名称输入错误')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月21日

悬赏问题

  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥15 QT6颜色选择对话框显示不完整
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥15 DS18B20内部ADC模数转换器