【发布时间】:2011-12-01 03:57:54
【问题描述】:
我想知道一个人什么时候会达到 10 亿秒。用户在他们出生时输入。然后将这些值转换为秒,然后我添加 10 亿秒并转换回日期。但是,当我输入某些日期时,python 似乎搞砸了。这样的示例是 1993/11/05 00:00:00,python 表示用户将在第 0 个月转入。 注意我不能使用 if/else 或 datetime。
这是我的代码:
YEARSEC=(12*30*24*3600)
MONTHSEC=(3600*24*30)
DAYSEC=(24*3600)
HOURSEC=3600
MINUTESEC=60
year=int(input("Please enter the year in which you were born: "))
month=int(input("Please enter the month you were born: "))
day=int(input("Please enter the day you were born: "))
hour=int(input("Please enter the hour you were born: "))
minute=int(input("Please enter the minute you were born: "))
second=int(input("Please enter the second you were born: "))
year_calc=(year*YEARSEC)
month_calc=(month*MONTHSEC)
day_calc=(day*DAYSEC)
hour_calc=(hour*HOURSEC)
minute_calc=(minute*MINUTESEC)
s=(1000000000+year_calc+month_calc+day_calc+hour_calc+minute_calc+second)
year_num=int((s/YEARSEC))
s=(s-(year_num*YEARSEC))
month_num=int((s/MONTHSEC))
s=(s-(month_num*MONTHSEC))
day_num=int((s/DAYSEC))
s=(s-(DAYSEC*day_num))
hour_num=int((s/HOURSEC))
s=(s-(HOURSEC*hour_num))
minute_num=int((s/MINUTESEC))
s=(s-(MINUTESEC*minute_num))
print("You will turn 1 000 000 000 seconds old on: %04d/%02d/%02d %02d:%02d:%02d" %(year_num,month_num,day_num,hour_num,minute_num,s))
【问题讨论】:
-
在没有
datetime的情况下正确执行此操作将是一个丑陋的混乱......为什么你说你不能使用它? -
这可能是他的家庭作业;)