Contents

A Python script to populate MVSM sudoku instances

Contents

I have originally wrote this script for my own use, but now I’ve decided to share it in case someone need it as well. It will first ask for the size of sudoku puzzle, then prompt you for numerical value in each cell. Hit Enter to skip the empty cell. Voila! The data is now ready to be copied and used in MVSM.

There is no type check at all. That means if you enter, say, a period (.), the whole program will crash and you will lose all data you entered thus far.

Here’s the code, feel free to improve it on your own [pastacode lang=”python” manual=”%23%20Helper%20function%20for%20generating%20sudoku%20instances%0A%23%20By%20X.%20Lin%2C%20CSE%20294%0A%0Adim%20%3D%20int(input(%22Enter%20the%20dimension%20of%20the%20sudoku%20puzzle%20(%23%20of%20rows%20or%20columns)%3A%20%22))%20%2B%201%0Aprint()%0A%0Atable%20%3D%20%5B%5B0%20for%20x%20in%20range(dim)%5D%20for%20y%20in%20range(dim)%5D%0Afor%20row%20in%20range(1%2C%20dim)%3A%0A%20%20%20%20for%20col%20in%20range(1%2C%20dim)%3A%0A%20%20%20%20%20%20%20%20print(%22Enter%20the%20value%20for%20cell%20a(%22%2C%20row%2C%20%22%2C%22%2C%20col%2C%20%22).%5Cn%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Hit%20Enter%20key%20directly%20when%20no%20number%20is%20present%20for%20the%20given%20cell%3A%20%22%2C%20sep%3D%22%22)%0A%20%20%20%20%20%20%20%20val%20%3D%20input()%0A%20%20%20%20%20%20%20%20print()%0A%20%20%20%20%20%20%20%20if%20not%20val%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20continue%0A%20%20%20%20%20%20%20%20table%5Brow%5D%5Bcol%5D%20%3D%20int(val)%0A%0Afor%20row%20in%20range(1%2C%20dim)%3A%0A%20%20%20%20for%20col%20in%20range(1%2C%20dim)%3A%0A%20%20%20%20%20%20%20%20val%20%3D%20table%5Brow%5D%5Bcol%5D%0A%20%20%20%20%20%20%20%20if%20val%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20continue%0A%20%20%20%20%20%20%20%20print(%22a(%22%2C%20row%2C%20%22%2C%22%2C%20col%2C%20%22)%3D%22%2C%20val%2C%20%22.%22%2C%20sep%3D%22%22%2C%20end%3D%22%20%22)%0A%20%20%20%20print()” message=”sudoku-helper” highlight=”” provider=”manual”/]

Related Content