当前位置: 首页 > 后端技术 > Python

让Python程序自动玩数独游戏,秒变最强大脑!

时间:2023-03-26 15:11:13 Python

娓告垙鐨勭晫闈㈠涓嬪浘鎵€绀恒€傚綋鐒讹紝鐜╂暟鐙父鎴忕殑缃戠珯鏈夊緢澶氥€備笅闈㈡垜浠氨浠ヨ繖涓綉绔欎负渚嬭繘琛屾紨绀恒€傚笇鏈涜兘鐢≒ython鑷姩璁$畻鍜屽~鍐欐暟鐙父鎴忥紒澶ф鏁堟灉鍙互鏄繖鏍风殑馃憞鏁扮嫭鐨勫熀鏈鍒欑帺杩囩殑浜洪兘闈炲父娓呮锛氭暟瀛?-9姣忎竴琛屽彧鑳藉嚭鐜颁竴娆°€傛暟瀛?-9鍦ㄦ瘡涓€鍒椾腑鍙兘鍑虹幇涓€娆°€傛暟瀛?-9鍦ㄦ瘡涓敱绮楀疄绾垮垎闅旂殑3x3鎴垮瓙涓彧鑳藉嚭鐜颁竴娆°€傚浣曡绋嬪簭杈呭姪鎴戜滑鐜╄繖涓暟鐙父鎴忓憿锛熸€濊矾锛氭垜浠彲浠ラ€氳繃web鑷姩鍖栨祴璇曞伐鍏凤紙濡俿elenium锛夋墦寮€缃戦〉锛屽垎鏋愮綉椤靛緱鍒拌〃鍗曟暟鎹紝浼犲叆澶勭悊绋嬪簭鑷姩瑙f瀽琛ㄥ崟锛屼娇鐢ㄧ▼搴忚嚜鍔ㄥ啓鍏ヨ绠楀嚭鐨勬暟鐙粨鏋溿€傝鎴戜滑灏濊瘯閫愭瑙e喅杩欎釜闂锛氶€氳繃Selenium璁块棶鐩爣URL銆俿elenium鐨勫畨瑁呭彲浠ュ弬鑰冿細https://blog.csdn.net/as60404...棣栧厛閫氳繃selenium鎵撳紑娴忚鍣細fromseleniumimportwebdriverbrowser=webdriver.Chrome()濡傛灉浣犵殑selenium宸茬粡瀹夎姝g‘锛岃繍琛屼互涓婁唬鐮佷細鎵撳紑璋锋瓕娴忚鍣細杩欐椂鎴戜滑鍙互鐩存帴鍦ㄥ彈鎺ф祻瑙堝櫒涓緭鍏rl璁块棶锛屾垨鑰呯敤浠g爜鎺у埗娴忚鍣ㄨ闂暟鐙父鎴忕殑缃戝潃锛歶rl="https://www.sudoku.name/index.php?ln=cn&puzzle_num=&play=1&difficult=4&timer=&time_limit=0"browser.get(url)鍐呭績PS锛氫互鍚庤繕鏄緱瑁呬釜璋锋瓕娴忚鍣ㄧ殑鎻掍欢removeadvertisingsSudokudataextractionnodeanalysistablenodeid鏄細鑺傜偣鍊煎瓨鍦ㄤ簬value灞炴€т腑锛氳繖鏄娇鐢⊿elenium鎺у埗娴忚鍣ㄧ殑濂藉锛岀▼搴忓彲浠ラ殢鏃舵彁鍙栨垜浠渶瑕佺殑鏁版嵁銆傞鍏堣幏鍙栫洰鏍囪〃鏍囩锛歠romselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasECwait=WebDriverWait(browser,10)table=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'table#sudoku_main_board')))鎺ヤ笅鏉ユ垜浠牴鎹妭鐐圭殑鍒嗘瀽鎻愬彇鎴戜滑闇€瑕佺殑鏁扮嫭鏁版嵁锛歜oard=[]fortrintable.find_elements_by_xpath(".//tr"):row=[]forinput_eintr.find_elements_by_xpath(".//input[@class='i3']"):cell=input_e.get_attribute("value")row.append(cellifcellelse".")鏈ㄦ澘銆傞檮鍔狅紙琛岋級鏉縖['7','.','.','.','.','4','.','.','.'],['.','4','.','.','.','5','9','.','.'],['8','.','.','.','.','.','.','2','.'],['.','.','6','.','9','.','.','.','4'],['.','1','.','.','.','.','.','3','.'],['2','.','.','.','8','.','5','.','.'],['.','5','.','.','.','.','.','.','1'],['.','.','3','7','.','.','.','8','.'],['.','.','.','2','.','.','.','.','6']]浣跨敤鎵€鏈夐渶瑕佸~鍏呯殑浣嶇疆.琛ㄧず鏁扮嫭璁$畻绋嬪簭濡備綍璁╃▼搴忚绠楀嚭涓婅堪鏁扮嫭鐨勭粨鏋滐紵杩欏氨闇€瑕侀€昏緫绠楁硶鐨勬€濊€冧簡銆傝繖绫婚棶棰樻渶鍩烘湰鐨勮В棰樻€濊矾鏄€氳繃閫掑綊+鍥炴函绠楁硶锛岄亶鍘嗘墍鏈夊彲鑳界殑濉厖鏂瑰紡锛岄€愪竴楠岃瘉鏈夋晥鎬э紝鐩村埌娌℃湁鍙戠幇鍐茬獊銆傚湪閫掑綊杩囩▼涓紝濡傛灉褰撳墠绌虹櫧妗嗕笉鑳借浠讳綍鏁板瓧濉弧锛屽垯杩涜鍥炴函銆傚湪姝ゅ熀纭€涓婏紝鎴戜滑鍙互浣跨敤浣嶆搷浣滆繘琛屼紭鍖栥€傚湪甯歌鏂规硶涓紝鎴戜滑闇€瑕佺敤涓€涓暱搴︿负99鐨勬暟缁勬潵琛ㄧず姣忎釜鏁板瓧鏄惁鍑虹幇杩囥€傚€熷姪浣嶈繍绠楋紝鍙互鍙敤涓€涓暣鏁版潵琛ㄧず姣忎釜鏁板瓧鏄惁鍑虹幇杩囥€備緥濡備簩杩涘埗琛紙011000100锛夎〃绀烘暟瀛?銆?銆?宸茬粡鍑虹幇杩囥€傚叿浣撴潵璇达紝鏈€缁堢殑绋嬪簭姣旇緝澶嶆潅锛岀湅涓嶆噦浠g爜閫昏緫鐨勫彲浠ョ洿鎺ュ鍒剁矘璐达細defsolveSudoku(board):defflip(i:int,j:int,digit:int):line[i]^=(1<None:defflip(i:int,j:int,digit:int):line[i]^=(1<