【Python CheckiO 题解】Days Between
CheckiO 是面向初學(xué)者和高級(jí)程序員的編碼游戲,使用 Python 和 JavaScript 解決棘手的挑戰(zhàn)和有趣的任務(wù),從而提高你的編碼技能,本博客主要記錄自己用 Python 在闖關(guān)時(shí)的做題思路和實(shí)現(xiàn)代碼,同時(shí)也學(xué)習(xí)學(xué)習(xí)其他大神寫的代碼。
CheckiO 官網(wǎng):https://checkio.org/
我的 CheckiO 主頁(yè):https://py.checkio.org/user/TRHX/
CheckiO 題解系列專欄:https://itrhx.blog.csdn.net/category_9536424.html
CheckiO 所有題解源代碼:https://github.com/TRHX/Python-CheckiO-Exercise
題目描述
【Days Between】:給定兩個(gè)參數(shù)表示時(shí)間(年,月,日),求兩個(gè)時(shí)間相差的天數(shù),返回的值必須是正數(shù)或者 0。
【鏈接】:https://py.checkio.org/mission/days-diff/
【輸入】:兩個(gè)表示時(shí)間的參數(shù),元組形式
【輸出】:兩個(gè)時(shí)間相差的天數(shù),整數(shù)型
【范例】:
days_diff((1982, 4, 19), (1982, 4, 22)) == 3 days_diff((2014, 1, 1), (2014, 8, 27)) == 238解題思路
利用 datetime 模塊很容易實(shí)現(xiàn)
代碼實(shí)現(xiàn)
import datetimedef days_diff(a, b):date1 = datetime.date(a[0], a[1], a[2])date2 = datetime.date(b[0], b[1], b[2])return abs((date1-date2).days)if __name__ == '__main__':print("Example:")print(days_diff((1982, 4, 19), (1982, 4, 22)))# These "asserts" are used for self-checking and not for an auto-testingassert days_diff((1982, 4, 19), (1982, 4, 22)) == 3assert days_diff((2014, 1, 1), (2014, 8, 27)) == 238assert days_diff((2014, 8, 27), (2014, 1, 1)) == 238print("Coding complete? Click 'Check' to earn cool rewards!")大神解答
大神解答 NO.1
from datetime import datetimedef days_diff(date1, date2):return abs((datetime(*date1) - datetime(*date2)).days)大神解答 NO.2
import datetime as d;days_diff=lambda a,b:abs((d.datetime(*a)-d.datetime(*b)).days)大神解答 NO.3
from datetime import datedef days_diff(date1, date2):d = date(*date2) - date(*date1)return abs(d.days)總結(jié)
以上是生活随笔為你收集整理的【Python CheckiO 题解】Days Between的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 浦发万用随借金是什么 浦发万用随借金好用
- 下一篇: 【Python CheckiO 题解】C