我需要从输入的天数中找出整数年数、整数月数和整数天数,但是,我的过程不起作用,我得到了错误的答案。
注:假设每年为365天,每月为30天。另外,请不要考虑闰年。
user=int(input("Please enter the number of days: "))
def year(num):
year=int(num/365)
month=int((num%365)/30)
day=num%30
print(f"{year} years, {month} months and {day} days")
year(user)
我正在得到11年10个月10天作为输出,然而,问题提示也给了我一些示例输出,在他们的示例输出中,4330的输出是11年10个月15天,为什么我们得到不同的输出?我的代码完美无瑕,我正在得到我期望得到的,然而,我期望的输出与提示符中给出的输出不匹配。
1条答案
按热度按时间nmpmafwu1#
我不知道你为什么要用
day=int((((num/365-int(num/365))*12)-month)*30)
来计算天数,我无法从逻辑上理解,一个非常简单、可读的方法是:day=num%30
不起作用,因为它没有考虑到一年有365天的事实。考虑num = 730
,它是2年零0天。使用公式,您将得到day = 10
,这是错误的。