Python 我的井字游戏的列检查器有什么问题?
这是我的tic-tac-toe网络应用程序。有一个Python 我的井字游戏的列检查器有什么问题?,python,Python,这是我的tic-tac-toe网络应用程序。有一个game.html未包括在内,但如果需要可以提供。下面的python代码可以正确识别玩家X或O是否有3个符号在一行中,并将给他们胜利。然而,它不能确定一个玩家是否在一列中有他们的3个符号,我不明白为什么尽管仔细地遵循它 谁能告诉我我的列检查算法有什么问题吗 from flask import Flask, render_template, session, redirect, url_for from flask_session import S
game.html
未包括在内,但如果需要可以提供。下面的python代码可以正确识别玩家X或O是否有3个符号在一行中,并将给他们胜利。然而,它不能确定一个玩家是否在一列中有他们的3个符号,我不明白为什么尽管仔细地遵循它
谁能告诉我我的列检查算法有什么问题吗
from flask import Flask, render_template, session, redirect, url_for
from flask_session import Session
from tempfile import mkdtemp
app = Flask(__name__)
app.config["SESSION_FILE_DIR"] = mkdtemp()
app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"
Session(app)
@app.route("/")
def index():
if "board" not in session:
session["board"] = [[None, None, None], [None, None, None], [None, None, None]]
session["turn"] = "X"
winner = None
for row in session["board"]:
if set(row) == set("X"):
winner = "X"
if set(row) == set("O"):
winner = "O"
for i in range(3):
col_lst = []
for row in session["board"]:
col_lst.append(row[i])
if set(col_lst) == "X":
winner = "X"
if set(col_lst) == "O":
winner = "O"
return render_template("game.html", game=session["board"], turn=session["turn"], winner=winner)
@app.route("/play/<int:row>/<int:col>")
def play(row, col):
session["board"][row][col] = session["turn"]
if session["turn"] == "X":
session["turn"] = "O"
else:
session["turn"] = "X"
return redirect(url_for("index"))
从flask导入flask,呈现模板,会话,重定向,url
从会话导入会话
从tempfile导入mkdtemp
app=烧瓶(名称)
app.config[“会话文件目录”]=mkdtemp()
app.config[“SESSION_PERMANENT”]=False
app.config[“会话类型”]=“文件系统”
会话(应用程序)
@附件路线(“/”)
def index():
如果“董事会”未开会:
会话[“董事会”]=[[无,无,无],[无,无,无],[无,无,无]]
会话[“转动”]=“X”
赢家=无
对于会话[“板”]中的行:
如果设置(行)=设置(“X”):
winner=“X”
如果设置(行)=设置(“O”):
winner=“O”
对于范围(3)中的i:
col_lst=[]
对于会话[“板”]中的行:
列附加(第[i]行)
如果设置(col_lst)=“X”:
winner=“X”
如果设置(col_lst)=“O”:
winner=“O”
返回渲染模板(“game.html”,game=session[“board”],turn=session[“turn”],winner=winner)
@应用程序路径(“/play/”)
def播放(行、列):
会话[“板”][行][列]=会话[“转”]
如果会话[“转动”]=“X”:
会话[“回合”]=“O”
其他:
会话[“转动”]=“X”
返回重定向(url_用于(“索引”))
我发现了问题所在。我必须将“X”和“O”放在一个集合函数中,类似于rows算法。语法和大写的细微更正。如果这能解决您的问题,请接受自己的答案。@MarcinOrlowski我会的,但界面上说我必须等待2天。