简介
今天突然想要算算今年过去了多久,还剩多少的时间。我们都知道平年是365天,而润年时366天,但我们并不知道某一天的日期在全年的第几天,过了某天后,一年中又过去了百分之几呢,那么我们今天就用python简单实现一下这个功能。
要求如下:
输入参数有,年、月、日。
显示当前是全年的第多少天,全年度过了百分之多少,还剩百分之多少。
代码展示:
while 1:
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
Sum = 0
total_month = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
Sum = sum(total_month[:month - 1]) + day
percent = (Sum / 365) * 100
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
if month > 2:
Sum += 1
percent = (Sum / 366) * 100
percent = round(percent, 3)
print(f"{year}年{month}月{day}日是{year}年的第{Sum}天,全年已经过去了{percent}%,今年就只剩下{100-percent}%的时间啦!")
思路讲解
- 首先,为了得到多个数据,不用重复去编译,我们采用了一个while 1循环,分别输入我们的年、月、日。
- 其次,建立变量Sum,用来累计过去的天数,并且,将平年的月份写入元组,然后再用Sum计算 总天数=之前所有月份的天数+当前日期的天数,获得闰年的百分比。
- 然后,判断是否是闰年,是,在Sum+1;否,Sum不变。
- 最后,用round四舍五入,全年的百分比,并且保留三位小数,将结果打印出来。
拓展——万年历
先输入我们需要检测的日期个数,当我们输入年、月、日时,计算出当天位于星期几。
本篇相当于是一个较为简略的版本,而在之前我曾写过输出星期几,可看此篇进行学习。
(103条消息) openjudge:万年历_夏天是冰红茶的博客-CSDN博客
效果展示