Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
regex solution in Clear category for Safe Code by kodix09
import re
def safe_code(equation):
left_side, right_side = equation.split("=")
excluded_digits = {x for x in equation if x.isdigit()}
if re.search("((?<=[-+*])-?#[#\d]+)|((?<==)-?#{2,})|(\A-?#[#\d]+)", equation) != None:
excluded_digits.add("0")
for i in range(10):
if str(i) not in excluded_digits:
if eval(left_side.replace("#", str(i))) == eval(right_side.replace("#", str(i))):
return i
return -1
if __name__ == '__main__':
print("Example:")
print(safe_code("-5#*-1=5#"))
#These "asserts" using only for self-checking and not necessary for auto-testing
assert safe_code("-5#*-1=5#") == 0
assert safe_code("##*##=302#") == 5
assert safe_code("19--45=5#") == -1
assert safe_code("##--11=11") == -1
assert safe_code("#9+3=22") == 1
assert safe_code("11*#=##") == 2
assert safe_code("#9+3=12") == -1
print("Coding complete? Click 'Check' to earn cool rewards!")
Sept. 27, 2018