Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from typing import List
- def checkio(tic):
- success_x = 'XXX'
- success_o = 'OOO'
- for row in tic:
- horizontal = row[0] + row[1] + row[2]
- if horizontal in success_x:
- return "X"
- elif horizontal in success_o:
- return "O"
- vertical_tip = list(zip(*tic))
- for row in vertical_tip:
- vertical = row[0] + row[1] + row[2]
- if vertical in success_x:
- return "X"
- elif vertical in success_o:
- return "O"
- diagonal_first = tic[0][0] + tic[1][1] + tic[2][2]
- diagonal_second = tic[0][2] + tic[1][1] + tic[2][0]
- if diagonal_first or diagonal_second in success_x:
- return "X"
- elif diagonal_first or diagonal_second in success_x:
- return "O"
- return "D"
- if __name__ == '__main__':
- print("Example:")
- print(checkio(["X.O",
- "XX.",
- "XOO"]))
- #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"
- # print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement