問題描述
讓我們來看看原題是怎麼說的:在輸入的一個字元串中包含年份資訊,正确年份資訊表示為年份-月份,其中年份在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 團隊