分享

Python|输出指定字符串

 算法与编程之美 2020-08-08

问题描述

输入一串字符,由字母、数字和空格组成,长度< 1000,判断其中是否存在日期格式的数据。日期格式的数据具有如下的特征,连续包含年份和月份信息。年份信息是指连续的四个数字,之后是Jan, Feb, Mar,Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec这些字符串之一,如”2019Nov" 就是符合日期格式要求的数据。

解决方案

从字符串中采取切片的方式来进行指定输出,用条件判断来进行限制输出想要的格式

1设置切片条件和输入

list1 = ['Jan', 'Feb', 'Mar','Apr', 'May',  'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
 list3 = ['0','1','2','3','4','5','6','7','8','9']
 s = str(input())

2建立循环和条件

for n in range(len(s)):
     for i in list1:
         if i in s[n:n+3]:

3)进行输出判断

list2 = s[n-4:n]
 a = 0
 for d in list2:
     if d in list3:
         a+=1
 if a == 4:
     m = 0
     print(list2+s[n:n+3])
     if m != 0:
         print('2000Jan')

4)完整代码如下

list1 = ['Jan', 'Feb', 'Mar','Apr', 'May',  'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
 list3 = ['0','1','2','3','4','5','6','7','8','9']
 s = str(input())
 for n in range(len(s)):
     for i in list1:
         if i in s[n:n+3]:
             list2 = s[n-4:n]
             a = 0
             for d in list2:
                 if d in list3:
                     a+=1
             if a == 4:
                 m = 0
                 print(list2+s[n:n+3])
                 if m != 0:
                     print('2000Jan')

结语

该题不是很难但要掌握好循环和切片的利用,设置好输出条件和切片条件。


END

实习编辑   |   王楠岚

责       编   |   王    曦

 where2go 团队


微信号:算法与编程之美          

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多