# data[].attributes.headline
so much code for such little functionality 

# data[].attributes.subject
so much code for such little functionality 

# data[].attributes.body
is incapable of checking whether the sudoku is possible. doesn't even check if they are numbers

# data[].attributes.body
https://www.tcl.tk/man/tcl8.4/TkCmd/keysyms.html 🥰🥰🥰😍😍😍😍😘😘😘😋😋🤣😃

# data[].attributes.attachment_link.title
Tk Built-In Commands - keysyms manual page

# data[].attributes.body
check me out on twitch, we do some coding

# data[].attributes.body
professionals  have standards

# data[].attributes.body
all the code does is provide a bad input method for a sudku

# data[].attributes.body
thats so mean theyre just y 12s -->

# data[].attributes.body
exactly

# data[].attributes.body
why is it hard coded

# data[].attributes.body
Choosing an option in the program doesn't give a prompt when done.

# data[].attributes.body
297 LINES!!!!!!

# data[].attributes.body
true >>

# data[].attributes.body
this code looks like it should do a lot but does very little
also, who decided to mix up the error messages?

# data[].attributes.body
Data files could store data separated by ; that will make it much more easier to manipulate data and tell them apart.

# data[].attributes.attachment_link.title
Python Tutorial for Beginners | Learn Python in 10 Hours  | Updegree

# data[].attributes.body
Format for entering answers is counterintuitive with no spacing

# data[].attributes.body
Entering the digits isn't intuitive at all

# data[].attributes.body
3 lines can be combined into one line; observe:

input("Enter row column digit:\n(Press Enter to stop)")

# data[].attributes.body
it cant even accept letters that aren't capitals

# data[].attributes.body
there's no subroutine to check if your input is overwriting any of the original numbers that the sudoku starts with, meaning you can easily accidentally replace these numbers without realising, potentially making the sudoku unsolvable.

# data[].attributes.body
There is no feedback given to the user stating that the puzzle has been loaded; the user is just sent back to the menu, confused, due to the lack of given information.

# data[].attributes.body
What does answer do, does it hold the correct answer for the puzzle. Also, how is it handled?

# data[].attributes.body
Definite iteration is used in the subroutine TransferPuzzleIntoGrid.

# data[].attributes.body
The program uses random library for error codes

# data[].attributes.body
unnecessary

# data[].attributes.headline
so much code for such little functionality

# data[].attributes.subject
so much code for such little functionality

# data[].attributes.body
The x axis numbers are hard coded

# data[].attributes.body
theres no handling for different grid sizes :pensive:

# data[].attributes.body
if you pick out L and press “Enter” to stop and go back to opening the partial puzzle, it will not be the new puzzle recently opened because you have to put in K to save the new (partial) puzzle. Even if you put in K, it will only work if you have added something to the new puzzle so that it can be saved.

# data[].attributes.body
expand on this please

# data[].attributes.body
exception handling used in subroutine LoadPuzzleFile

# data[].attributes.body
What have you discovered about the programme so far?