past_move = [" ", " ", " ", " ", " ", " ", " ", " ", " "]
o_win = ["O", "O", "O"]
if past_move[:3] == o_win or past_move[3:5] == o_win or past_move[6:8] == o_win or past_move[:8:3] == o_win or past_move[1::3] == o_win or past_move[2::3] == o_win or past_move[0::4] == o_win or past_move[2:8:2] == o_win:
这是我当前的代码,但是我不喜欢它,因为如果我想添加一组不同的变量来与其进行比较,那将是很长的一段代码,运行缓慢。
past_move
在字符串的不同位置添加了“ Os”,我需要检查“ Os”模式中的模式
是否有更有效的方式写出此if
语句?
答案 0 :(得分:0)
使用in
运算符获取比较值的列表:
if o_win in [past_move[:3], past_move[3:5], past_move[6:8],
past_move[:8:3], past_move[1::3], past_move[2::3],
past_move[0::4], past_move[2:8:2]]: