for test five ([".O.","XXX",".O."]) it claims I return a 'D' but when I enter the same value as a test, I receive the correct result. am I missing something or is there a bug?
From: http://www.checkio.org/mission/x-o-referee/solve/
HTTP_USER_AGENT:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36
My Code:
def checkio(game_result):
for y in game_result:
if y is 'XXX':
return 'X'
if y in 'OOO':
return 'O'
for y in range(3):
if game_result[0][y] is game_result[1][y] is game_result[2][y]:
return game_result[0][y]
if game_result[0][0] is game_result[1][1] is game_result[2][2]:
return game_result[0][0]
if game_result[0][2] is game_result[1][1] is game_result[2][0]:
return game_result[0][2]
return 'D'
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio([
"X.O",
"XX.",
"XOO"]) == "X", "Xs wins"
assert checkio([
"OO.",
"XOX",
"XOX"]) == "O", "Os wins"
assert checkio([
"OOX",
"XXO",
"OXX"]) == "D", "Draw"
assert checkio([
"O.X",
"XX.",
"XOO"]) == "X", "Xs wins again"
Created at: 2014/08/20 18:55; Updated at: 2014/08/21 18:03