CMU 15-112 Spring 2019: Fundamentals of Programming and Computer Science
Check 10.3
-
Check 10.3
Say we're using backtracking to solve a Sudoku board. We just set the number 1 in the first valid space, and we can't find any valid numbers for the second space. What happens next in the code? (Once you've submitted your answer, check below for ours).
import sys
def set_certificate(certificate_div_id, certificate):
document[certificate_div_id].textContent = certificate
def get_student_code(student_code_div_id):
raw_student_code = document[student_code_div_id].textContent
return window.patchCodeToCheckTimeout(raw_student_code, 'check_timeout();');
class captureIO:
def __init__(self):
self.captured = []
def get_output(self):
out = ""
for c in self.captured:
out += str(c)
return out
def write(self, data):
self.captured.append(data)
def flush(self):
pass
def make_certificate(student_code_div_id, certificate_div_id):
student_code = get_student_code(student_code_div_id)
certificate = []
length_cap, filler_char = 40, 'x'
try:
output = ""
for c in student_code:
output += filler_char
output = output[:length_cap]
certificate.append((output, type(output)))
except:
set_certificate(certificate_div_id, "error")
set_certificate(certificate_div_id, str(certificate))
- Our answer:
Since no moves were valid, we return None; this sends us back to the first function call, where we undo adding 1 and try the next valid number.
Back to notes