Eliminate all the other values (except d) from values[s] and propagate. Return values, except return False if a contradiction is detected.
(values, s, d)
| 84 | |
| 85 | |
| 86 | def assign(values, s, d): |
| 87 | """ |
| 88 | Eliminate all the other values (except d) from values[s] and propagate. |
| 89 | Return values, except return False if a contradiction is detected. |
| 90 | """ |
| 91 | other_values = values[s].replace(d, "") |
| 92 | if all(eliminate(values, s, d2) for d2 in other_values): |
| 93 | return values |
| 94 | else: |
| 95 | return False |
| 96 | |
| 97 | |
| 98 | def eliminate(values, s, d): |
no test coverage detected