Python-100 练习题 04 判断天数
生活随笔
收集整理的這篇文章主要介紹了
Python-100 练习题 04 判断天数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
練習題 4 的網址:
http://www.runoob.com/python/python-exercise-example4.html
Example-4 判斷天數
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
思路
判斷輸入的日期是一年中的第幾天,因為一年有12個月,我們可以先考慮計算逐月累計的天數,假設輸入的月份是 m,那么前 m-1個月份的天數是可以計算出來的,比如輸入的是 2018 年 3 月 5 日,那么前兩個月的天數就是31+28=59天,然后再加上輸入的天,即 59+5=64天。
當然,涉及到日期,年份,都需要考慮閏年,閏年的定義如下,來自百度百科
普通閏年: 能被4整除但不能被100整除的年份為普通閏年。(如2004年就是閏年,1999年不是閏年);
世紀閏年: 能被400整除的為世紀閏年。(如2000年是世紀閏年,1900年不是世紀閏年);
代碼實現
實現的代碼如下:
def calculate_days():year = int(input('year:\n'))month = int(input('month:\n'))day = int(input('day:\n'))# 統計前 m-1 個月的天數months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]sums = 0if 0 < month <= 12:sums = months[month - 1]else:print('Invalid month:', month)sums += day# 判斷閏年is_leap = Falseif (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):is_leap = Trueif is_leap and month > 2:sums += 1return sums測試例子如下,給出兩個同樣的日期,但年份不同,閏年的 2016 年和非閏年的 2018年。
# 非閏年 year: 2018 month: 3 day: 5 it is the 64th day# 閏年 year: 2016 month: 3 day: 5 it is the 65th day源代碼在:
https://github.com/ccc013/CodesNotes/blob/master/Python_100_examples/example4.py
歡迎關注我的微信公眾號–機器學習與計算機視覺,或者掃描下方的二維碼,大家一起交流,學習和進步!
往期精彩推薦
Python-100 練習系列
- Python-100 | 練習題 01 & 列表推導式
- Python-100 練習題 02
- Python-100 練習題 03 完全平方數
機器學習系列
- 機器學習入門系列(1)–機器學習概覽
- 機器學習入門系列(2)–如何構建一個完整的機器學習項目(一)
- 機器學習數據集的獲取和測試集的構建方法
- 特征工程之數據預處理(上)
- 特征工程之數據預處理(下)
- 特征工程之特征縮放&特征編碼
數學學習筆記
- 程序員的數學筆記1–進制轉換
- 程序員的數學筆記2–余數
- 程序員的數學筆記3–迭代法
Github項目 & 資源教程推薦
- [Github 項目推薦] 一個更好閱讀和查找論文的網站
- [資源分享] TensorFlow 官方中文版教程來了
- 必讀的AI和深度學習博客
- [教程]一份簡單易懂的 TensorFlow 教程
- [資源]推薦一些Python書籍和教程,入門和進階的都有!
總結
以上是生活随笔為你收集整理的Python-100 练习题 04 判断天数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html结构及部分属性——从0开始
- 下一篇: 几个有趣的python技巧