我写了这段代码来测试日期,但我一直收到这个错误:
IndentationError:预期会出现缩进块。
我搜索了一个答案,但我找不到任何东西。
def dateIsBefore(y1,m1,d1,y2,m2,d2):
if y1<y2:
return True
if y1 == y2:
if m1< m2:
return True
if m1 == m2:
return d1>d2
return False
def georgiana(y1,m1,d1):
if y1==1582:
if m1==10:
if d1>=15:
return True
if m1>10:
return True
if y1>1582:
return True
return False
def Real(y1,m1,d1,y2,m2,d2):
if d1 <= daysOfMonths[m1-1] and d2 <= daysOfMonths[m2-1] and m1 <= 12 and m2 <= 12:
return True
else:
return False
def test_dates(y1,m1,d1,y2,m2,d2):
if dateIsBefore(y1,m1,d1,y2,m2,d2) and georgiana(y1,m1,d1,y2,m2,d2) and real(y1,m1,d1,y2,m2,d2) :
return True
else:
return False
print test_dates(2001,8,28,2018,3,16)
答案 0 :(得分:0)
属于某个函数的每一行都应将其缩进级别加1。
所以这就是你的缩进应该是什么样的:
def dateIsBefore(y1, m1, d1, y2, m2, d2):
if y1 < y2:
return True
if y1 == y2:
if m1 < m2:
return True
if m1 == m2:
return d1 > d2
return False
def georgiana(y1, m1, d1):
if y1 == 1582:
if m1 == 10:
if d1 >= 15:
return True
if m1 > 10:
return True
if y1 > 1582:
return True
return False
def Real(y1, m1, d1, y2, m2, d2):
if d1 <= daysOfMonths[m1 - 1] and d2 <= daysOfMonths[m2 - 1] and m1 <= 12 and m2 <= 12:
return True
else:
return False
def test_dates(y1, m1, d1, y2, m2, d2):
if dateIsBefore(y1, m1, d1, y2, m2, d2) and georgiana(y1, m1, d1, y2, m2, d2) and real(y1, m1, d1, y2, m2, d2):
return True
else:
return False
print test_dates(2001, 8, 28, 2018, 3, 16)
您的代码中还存在其他一些问题:
georgiana()
函数:georgiana(y1, m1, d1)
。但是你用6个参数调用它:georgiana(y1, m1, d1, y2, m2, d2)
。Real()
,但要调用real()
。