Python|判断程序设计比赛中的日期正误

  • 2020 年 2 月 24 日
  • 笔记

问题描述

让我们来看看原题是怎么说的:在输入的一个字符串中包含年份信息,正确年份信息表示为年份-月份,其中年份在1979到2019之中,月份表示为01,02…11,12。请找出正确年份的第一个数字的位置。如输入1993dec12342019-1216.应输出12.因为2的位置就是12。

解决方案

了解到题目后,要知道体中的关键信息,抓出正确年份出现的第一标准,也就是“-”,然后在判断“-”前后年月份是否符合要求。

(1)分析题目后,就编程具体实施。首先肯定是找到字符串中的“-”,所以采用for来遍历。

(2)找到“-”之后,在截取字符串中“-”前的四个数字,判断其是否在1979到2019之间。

(3)然后截取“-”惠普的两位数字判断其是否在01,,,12中。

(4)最后直接输出满足所有条件的年份的第一个数字的位置。否则输出-1.

实施代码:

str = input()list1 = [x for x in range(1979,2020)]list2 = ['01','02','03','04','05','06','07','08','09','10','11','12']for i in str: if i == '-': a = str.index(i) b = int(''.join(str[a-4:a])) c = ''.join(str[a+1:a+3]) if b in list1 and c in list2: print(a-3) else: print(-1)

END

实习编辑 | 王文星

责 编 | 江来洪

where2go 团队