python100例(練習例項4)

今天練習到python100例的第4個練習。

原文地址如下:

https://www。runoob。com/python/python-exercise-example4。html

程式在deepin社群版本下除錯透過。

今天練習的題目是:輸入某一年某一月的某一天,程式會自動輸出這一天是當年的第多少天。

官方自帶的題目分析如下:

以8月2日為例,應該先把前7個月加起來,然後再加2天,就是本年的第多少天。

這裡有個特殊的情況要處理,就是閏年月份大於2月份時,因為2月份有時候是29天,所以要在月份大於2月份的情況多加1天。

程式程式碼如下:

year = int(input(‘請輸入年份year:\n’))month = int(input(‘請輸入月份month:\n’))day = int(input(‘請輸入具體日期day:\n’))#定義一個元組,1月份months[1]-months[0]==31天,2月份28天,以此類推……。months = (0,31,59,90,120,151,181,212,243,273,304,334)#當用戶輸入的數字不在1到12範圍內時,提示輸入錯誤if 0 < month <= 12: #先把前幾(month-1)個月的天數加起來 sum = months[month - 1]else: print (‘data error’) #前幾個月的天數算好後,再把當月的具體日期天數加上,sum += dayleap = 0#判斷輸入的年份year是否是閏年,閏年為“能被400乘除”或“能被4乘除但同時不能被100整除”if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)): leap = 1#如果是閏年,且輸入的月份大於2if (leap == 1) and (month > 2): sum += 1print (f“該天是當年的第{sum}天”)

除錯程式碼如下圖

python100例(練習例項4)