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 團隊