ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





نمایش نتایج: از 1 به 2 از 2
  1. #1
    تاریخ عضویت
    2020/06/24
    نوشته ها
    1
    0
    Junior Member

    اشکال در لاین 116 ممنون میشم راهنمایی کنید

    #python 2.7.12

    # A Backtracking program in Python to solve Sudoku problem


    # A Utility Function to print the Grid
    def print_grid(arr):
    for i in range(9):
    for j in range(9):
    print arr[i][j],
    print ('&#39


    # Function to Find the entry in the Grid that is still not used
    # Searches the grid to find an entry that is still unassigned. If
    # found, the reference parameters row, col will be set the location
    # that is unassigned, and true is returned. If no unassigned entries
    # remains, false is returned.
    # 'l' is a list variable that has been passed from the solve_sudoku function
    # to keep track of incrementation of Rows and Columns
    def find_empty_location(arr, l):
    for row in range(9):
    for col in range(9):
    if(arr[row][col]== 0):
    l[0]= row
    l[1]= col
    return True
    return False

    # Returns a boolean which indicates whether any assigned entry
    # in the specified row matches the given number.
    def used_in_row(arr, row, num):
    for i in range(9):
    if(arr[row][i] == num):
    return True
    return False

    # Returns a boolean which indicates whether any assigned entry
    # in the specified column matches the given number.
    def used_in_col(arr, col, num):
    for i in range(9):
    if(arr[i][col] == num):
    return True
    return False

    # Returns a boolean which indicates whether any assigned entry
    # within the specified 3x3 box matches the given number
    def used_in_box(arr, row, col, num):
    for i in range(3):
    for j in range(3):
    if(arr[i + row][j + col] == num):
    return True
    return False

    # Checks whether it will be legal to assign num to the given row, col
    # Returns a boolean which indicates whether it will be legal to assign
    # num to the given row, col location.
    def check_location_is_safe(arr, row, col, num):

    # Check if 'num' is not already placed in current row,
    # current column and current 3x3 box
    return not used_in_row(arr, row, num) and not used_in_col(arr, col, num) and not used_in_box(arr, row - row % 3, col - col % 3, num)

    # Takes a partially filled-in grid and attempts to assign values to
    # all unassigned locations in such a way to meet the requirements
    # for Sudoku solution (non-duplication across rows, columns, and boxes)
    def solve_sudoku(arr):

    # 'l' is a list variable that keeps the record of row and col in find_empty_location Function
    l =[0, 0]

    # If there is no unassigned location, we are done
    if(not find_empty_location(arr, l)):
    return True

    # Assigning list values to row and col that we got from the above Function
    row = l[0]
    col = l[1]

    # consider digits 1 to 9
    for num in range(1, 10):

    # if looks promising
    if(check_location_is_safe(arr, row, col, num)):

    # make tentative assignment
    arr[row][col]= num

    # return, if success, ya ! if(solve_sudoku(arr)):
    return True

    # failure, unmake & try again
    arr[row][col] = 0

    # this triggers backtracking
    return False

    # Driver main function to test above functions
    if __name__=="__main__":

    # creating a 2D array for the grid
    grid =[[0 for x in range(9)]for y in range(9)]

    # assigning values to the grid
    grid =[[3, 1, 6, 5, 7, 8, 4, 9, 2],
    [5, 2, 9, 1, 3, 4, 7, 6, 8
    [4, 8, 7, 6, 2, 9, 5, 3, 1 ],
    [2, 6, 3, 0, 1, 5, 9, 8, 7 ],
    [ 9, 7, 4, 8, 6, 0, 1, 2, 5 ],
    [8, 5, 1, 7, 9, 2, 6, 4, 3 ],
    [1, 3, 8, 0, 4, 7, 2, 0, 6],
    [6, 9, 2, 3, 5, 1, 8, 7, 4 ],
    [7, 4, 5, 0, 8, 6, 3, 1, 0 ]]

    # if success print the grid
    if(solve_sudoku(grid)):
    print_grid(grid)
    else:
    print "No solution exists"

    # The above code has been contributed by Harshit Sidhwa.
  2. #2
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    240
    Administrator
    سلام...اینو تست کنید:
    فایل های پیوست شده فایل های پیوست شده
    • نوع فایل: txt code.txt (3.9 کیلو بایت, 2 مشاهدات)
نمایش نتایج: از 1 به 2 از 2

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •