From 3f09ba09b1a778aefe2fea220a359cc7ad5d1c52 Mon Sep 17 00:00:00 2001 From: samerbam Date: Wed, 23 Aug 2023 09:19:16 -0400 Subject: [PATCH] fix sudoku --- application/sudoku.png | Bin 9333 -> 10101 bytes application/sudoku_generator.py | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/application/sudoku.png b/application/sudoku.png index 297d59483e2cc1d60b7e7ce5c8aeb96f7086ddaf..79c96f248dc0ca89d5373971f93e9207b3735b65 100644 GIT binary patch literal 10101 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 literal 9333 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 LsxtY~cc1(Z{}6!S diff --git a/application/sudoku_generator.py b/application/sudoku_generator.py index 343476d..24a2f14 100644 --- a/application/sudoku_generator.py +++ b/application/sudoku_generator.py @@ -40,8 +40,8 @@ def generate_sudoku(): def expandLine(line): - # return line[0]+line[5:9].join([line[1:5]*(base-1)]*base)+line[9:13] - return line[0]+line[3:7].join([line[1:3]*(base-1)]*base)+line[3:5] + return line[0]+line[5:9].join([line[1:5]*(base-1)]*base)+line[9:13] + # return line[0]+line[3:7].join([line[1:3]*(base-1)]*base)+line[3:5] # return line[0]+line[3:5].join([line[1:3]*(base-1)]*base)+line[5:7] # return line[0]+line[4:7].join([line[1:4]*(base-1)]*base)+line[7:10] line0 = expandLine("╔═══╤═══╦═══╗")