我写这个程序是为了计算你已经活了多少天,当你使用当前日期和你的出生日期作为输入时(不管是哪一个,只要它的格式是:y,m,d。这是我的第一个代码,所以它可能结构不好,但我试着看看为什么它返回无?你知道吗
def past_presenter(year1,month1,day1,year2,month2,day2):
if year1>year2:
year1,month1,day1,year2,month2,day2 = year2,month2,day2,year1,month1,day1
return year1,month1,day1,year2,month2,day2
else:
if month1>month2:
year1,month1,day1,year2,month2,day2 = year2,month2,day2,year1,month1,day1
return year1,month1,day1,year2,month2,day2
else:
if day1>day2:
year1,month1,day1,year2,month2,day2 = year2,month2,day2,year1,month1,day1
return year1,month1,day1,year2,month2,day2
def absolute(y,m,d):
if y<0:
y=y*-1
if m<0:
m=m*-1
if d<0:
d=d*-1
return y,m,d
def days(year1,month1,day1,year2,month2,day2):
y=year2-year1
m=month2-month1
d=day2-day1
y,m,d = absolute(y,m,d)
days=d+(m*30)+(y*30*12)
return days
def daysBetweenDates(year1,month1,day1,year2,month2,day2):
year1,month1,day1,year2,month2,day2 = past_presenter(year1,month1,day1,year2,month2,day2)
dd = days(year1,month1,day1,year2,month2,day2)
return dd
print daysBetweenDates(2017,2,10,1980,1,1)
问题得到了解决,因为代码很好,但是测试它的平台:“https://repl.it/languages/python”总是不输出任何代码
当我复制粘贴您的代码并运行它时,您的测试用例返回了13359。不过,我确实明白你的错误。在测试用例中,year1<;year2将返回None,因为过去的演示者返回None,所以在所有if语句的末尾缺少一个return语句。所有return语句都嵌套在“if year1>;year2”中,因此当year2>;=year1时,它不返回任何内容。你知道吗
相关问题 更多 >
编程相关推荐