反思怎样通过外部验证变成改进:练习答案
参考实现
完整参考:
python
def improve3(candidates):
best, value, misses = "", -1, 0
for text in candidates:
current = sum(tag in text for tag in ("[A]","[B]","[C]"))
if current > value: best, value, misses = text, current, 0
else: misses += 1
if value == 3: return best,"verified"
if misses == 2: return best,"no_progress"
return best,"budget_exhausted"
assert improve3(["[A][B]","[A]"])[0] == "[A][B]"
assert improve3(["[A][B]"])[1] != "verified"
assert improve3(["[A]","[A][B][C]"])[1] == "verified"
print("three criteria")判定阈值与评分规则必须一起改,不能只增加标签而保留 value==2。