mardi 9 avril 2019

Sudoku grid generator not making columns different numbers

I am trying to make a Sudoku grid generator but have been stuck with this final bit for a while. I have successfully made every row a different number. But now I need every column number to be different and I cannot figure out how to do this.

I have already tried removing the possibility of the same number spawning at the top by removing that number from the list. But then for a different row I need that number again. (I tried .pop() and delete and remove)

import tkinter as tk
import random
buttonvalues = ["1","2","3","4","5","6","7","8","9"]
buttonvalues = ["1","2","3","4","5","6","7","8","9"]
random.shuffle(buttonvalues)
root = tk.Tk()
root.title("Soduku")
i = 0
for x in range(9):
    for y in range(9):
        number = random.choice(buttonvalues)
        btn = tk.Button(text=number, bg="white", activebackground="black", width=2)
        btn.grid(row=y, column=x)
        i += 1
        print(number)
        if number == "1":
            buttonvalues.remove("1")  
        elif number == "2":
            buttonvalues.remove("2")
        elif number == "3":
            buttonvalues.remove("3")
        elif number == "4":
            buttonvalues.remove("4")
        elif number == "5":
            buttonvalues.remove("5")
        elif number == "6":
            buttonvalues.remove("6")
        elif number == "7":
            buttonvalues.remove("7")
        elif number == "8":
            buttonvalues.remove("8")
        elif number == "9":
            buttonvalues.remove("9")
        if not buttonvalues:
            buttonvalues = ["1","2","3","4","5","6","7","8","9"]



root.mainloop()

I do get my expected results a (different number for every row) but now I need every column number to be different including the ones in the rows. Can somebody please help?image




Aucun commentaire:

Enregistrer un commentaire