0

我正在编写一个程序,该程序允许我以天为单位计算一个人的年龄——计算每一天,包括闰日和不规则的天数。这是一行代码:

number_of_days = (((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1)

30.4375通过除以365.25得到值12

现在我只需要将整数部分存储在number_of_days. 我怎么做?

非常感谢您的帮助!

PS所有变量值都是int值

4

5 回答 5

4

您可以使用int

number_of_days = int((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1))

math.floor

import math

number_of_days = math.floor((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1))

但随后number_of_days将是 a float,所以我认为第一个解决方案更好。

于 2013-04-20T22:35:51.353 回答
3

只需致电int

number_of_days = int((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1))
于 2013-04-20T22:35:56.327 回答
2

如果您的目标是计算日期之间的天数,您可以使用 datetime 模块:

import datetime
birth = datetime.date(1967,11,14)
today = datetime.date.today()

number_of_days = (today - birth).days
于 2013-04-20T22:53:08.443 回答
2

考虑使用 round 而不是转换更准确:

import math
int(math.round((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1)))
于 2013-04-20T22:43:30.780 回答
2

你能用地板功能吗?

number_of_days = math.floor((((year2 - year1) * 12) + (month2 - month1)) * 30.4375 + (day2 - day1))
于 2013-04-20T22:37:47.597 回答