第几条先挂
first_fail([(1,1),(2,9),(3,3)]) 交回第几条先挂(下标)?
测试工具:check(got, want) 对上交回 OK 否则 FAIL;run_cases(cases)(cases 是 [(got, want)])交回通过几条;first_fail(cases) 交回第一条没过的下标(全过 -1)。
def check(got, want):
# 一条断言:对上交回 "OK",不对交回 "FAIL"
return "OK" if got == want else "FAIL"
def run_cases(cases):
# cases: [(got, want)];交回通过几条
return sum(1 for got, want in cases if got == want)
def first_fail(cases):
# 交回第一条没通过的下标(全过交回 -1)
for i, (got, want) in enumerate(cases):
if got != want:
return i
return -1
print(first_fail([(1, 1), (2, 9), (3, 3)]))
全部评论