def check(nums_string): check_dict = {'1': 1, '2': 1, '3': 1, '4': 1, '5': 1, '6': 1, '7': 1, '8': 1, '9': 1} nums_dict = {} for i in nums_string: nums_dict[i] = nums_string.count(i) if nums_dict == check_dict: return True else: return False def get_columns(list): columns = ['' for x in range(9)] num = 0 for k in range(9): for i in list: columns[k] += i[num] num += 1 return columns def get_squares(list): squares = ['' for x in range(9)] # TDODO: musi być lepszy sposób żeby to napisać num = 0 for m in range(3): for k in range(3): for i in range(3): squares[m] = squares[m] + list[num][i] num+=1 num = 0 for m in range(3,6): for k in range(3): for i in range(3,6): squares[m] = squares[m] + list[num][i] num+=1 num = 0 for m in range(6,9): for k in range(3): for i in range(6,9): squares[m] = squares[m] + list[num][i] num+=1 return squares list_of_lines = [] print("Enter each line!: ") for i in range(9): line = input() list_of_lines.append(line) list_of_columns = get_columns(list_of_lines) list_of_squares = get_squares(list_of_lines) statement = True for i in list_of_lines: # pętla for x3 - zamiana na jedną statement = statement and check(i) print(statement) for i in list_of_columns: statement = statement and check(i) print(statement) for i in list_of_squares: statement = statement and check(i) print(statement) if statement: print("That's sudocu!") else: print("That's not sudocu... :(")