由于剛剛學(xué)習(xí)Python,這幾天編寫了一個小小的代碼,如果有什么有問題的地方,請大家多多指教。例題如下:
輸入某年某月某日,判斷這一天是這一年的第幾天。輸入分三行,分別是年、月、日。輸出一行,即該天是這一年的第幾天。
樣例輸入:
2017
1
1
樣例輸出:
1
這是我編寫的代碼:
# -*- coding: utf-8 -*-
def error():#確定報錯函數(shù)
??? print "Invalid input!"
??? exit(0)
def f(x):#判斷閏年
??? if x % 4 != 0:
??????? return 0
??? else:
??????? if x % 100 != 0:
??????????? return 1
??????? else:
??????????? if x % 400 == 0:
??????????????? return 1
??????????? else:
??????????????? return 0
def get_days(m, y):#確定每一個月有幾天
??? days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
??? days[1] += f(y)#對閏年和平年進行統(tǒng)一
??? return days[m-1]
def main():
??? y = int(raw_input("year: "))
??? if (y < 0):#報錯
??????? error()
??? m = int(raw_input("month: "))
??? if (m >= 13) or (m <= 0):#報錯
??????? error()
??? d = int(raw_input("day: "))
??? if (d <= 0) or (d > get_days(m, y)):#報錯
??????? error()
??? ans = 0
??? l = 1
??? while l < m:
??????? ans += get_days(l, y)#按月份累計天數(shù)
??????? l += 1
??? ans += d#將本月的天數(shù)進行累加
??? print ans
if __name__ == '__main__':
??? main()
第一次在簡書上分享自己的代碼,如果有什么不對的地方或更好的解法,還請大家多多提出建議與意見,謝謝!