问题描述 输入一串字符,由字母、数字和空格组成,长度 1000, 判断其中是否存在日期格式的数据。日期格式的数据具有如下的特征,连续包含年份和月份信息。年份信息是指连续的四
问题描述
输入一串字符,由字母、数字和空格组成,长度 < 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')
结语
该题不是很难但要掌握好循环和切片的利用,设置好输出条件和切片条件。
总结
以上所述是小编给大家介绍的Python输出指定字符串的方法,希望对大家有所帮助!