我只想在開頭說我是一個初學者,如果這是一個愚蠢的問題/明顯的錯誤,我很抱歉。我正在制作一個人類與計算機的井字游戲,并且break語句沒有打破最里面的循環。問題出現在最后一個循環中,即使人類獲勝,其下面的 if 條件也不會執行。它繼續下棋,然后宣布計算機贏了。如果我應該更改或添加一些內容到我的問題中,請通知我。謝謝boardkeys={9:' ',8:' ',7:' ',6:' ',5:' ',4:' ',3:' ',2:' ',1:' '}def wincon(): if boardkeys[1]==boardkeys[2]==boardkeys[3]!=' ': return True elif boardkeys[4]==boardkeys[5]==boardkeys[6]!=' ': return True elif boardkeys[7]==boardkeys[8]==boardkeys[9]!=' ': return True elif boardkeys[1]==boardkeys[4]==boardkeys[7]!=' ': return True elif boardkeys[2]==boardkeys[5]==boardkeys[8]!=' ': return True elif boardkeys[3]==boardkeys[6]==boardkeys[9]!=' ': return True elif boardkeys[1]==boardkeys[5]==boardkeys[9]!=' ': return True elif boardkeys[3]==boardkeys[5]==boardkeys[7]!=' ': return Truehsym=" O "csym=" X "def ai(): z=random.randrange(1,10) while boardkeys[z]!=" ": z=random.randrange(1,10) boardkeys[z]=csymdef move(): no=int(input("enter your move human")) if boardkeys[no]==" ": boardkeys[no]=hsym else: print("invalid move") move() for i in range(10): count=0 move() count+=1 printboard() if wincon==True: ???? print("Game Over you won") ???? break ???? elif count==9: print("TIED") break else: print() print("computer's turn") ai() printboard() if wincon()==True: print("Game Over computer won") break elif count==9: print("TIED") break
添加回答
舉報
0/150
提交
取消