计算你从出生到今天活了多少天(Python和C实现)
1.Python实现(6行代码完成)
from datetime import datetime
birth = "2000-02-02"
birth = datetime.strptime(birth, "%Y-%m-%d")
curdata = datetime.now()
count = (curdata - birth).days
print("从你出生到现在你活了:{}天".format(count))
如果你想看代码参数的运行过程中的变化过程可以加断点debug一下。
其实主要就是用了python的datatime包的strptime函数将一个“2000-02-02”这样格式的字符串转换一下格式
不知不觉已经活了8108天了,谁能写个代码帮我算一下还能再活多少天hh。
2.C语言实现
这个可以参考一下我一年前总结的蓝桥杯日期问题中计算两日期间的天数的代码。
文章链接:https://blog.csdn.net/qq_47997583/article/details/115798511
稍微修改一下的代码如下:
#include<iostream>
using namespace std;
int months[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool judge(int time)
{
int y=time/10000;
int m=time%10000/100;
int d=time%100;
int leap=(y%4==0&&y%100!=0||y%400==0);
if(m==0||m>13||d==0) return false;
if(m!=2&&d>months[m]) return false;
if(m==2&&d>28+leap) return false;
return true;
}
int main()
{
int time1 = 20000202;
int time2 = 20220415;
int sum=0;
for(int i=time1;i<=time2;i++)
{
if(judge(i))
sum++;
}
printf("你从出生到今天一共活了%d天",sum);
}
啊诶,不是8108吗,怎么变成8109了。
仔细看一下,python是直接用当前减去出生,而C从出生那天算起累加。
举个极端例子,把出生日期设为昨天,也就是4月14日,Python算出来是1天,C代码算出来是2天,具体怎么看你自己决定。
我是中午12点出生的,现在马上晚上12点了,那我实际应该是活了8108.5天吧。
赶快试一试你活了多少天吧hh
|