Advertisement
muriela

Untitled

May 23rd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. from typing import List
  2.  
  3.  
  4. def checkio(tic):
  5. success_x = 'XXX'
  6. success_o = 'OOO'
  7.  
  8. for row in tic:
  9. horizontal = row[0] + row[1] + row[2]
  10. if horizontal in success_x:
  11. return "X"
  12. elif horizontal in success_o:
  13. return "O"
  14.  
  15. vertical_tip = list(zip(*tic))
  16.  
  17. for row in vertical_tip:
  18. vertical = row[0] + row[1] + row[2]
  19. if vertical in success_x:
  20. return "X"
  21. elif vertical in success_o:
  22. return "O"
  23.  
  24. diagonal_first = tic[0][0] + tic[1][1] + tic[2][2]
  25. diagonal_second = tic[0][2] + tic[1][1] + tic[2][0]
  26.  
  27. if diagonal_first or diagonal_second in success_x:
  28. return "X"
  29.  
  30. elif diagonal_first or diagonal_second in success_x:
  31. return "O"
  32.  
  33. return "D"
  34.  
  35.  
  36. if __name__ == '__main__':
  37. print("Example:")
  38. print(checkio(["X.O",
  39. "XX.",
  40. "XOO"]))
  41.  
  42. #These "asserts" using only for self-checking and not necessary for auto-testing
  43. # assert checkio([
  44. # "X.O",
  45. # "XX.",
  46. # "XOO"]) == "X", "Xs wins"
  47. # assert checkio([
  48. # "OO.",
  49. # "XOX",
  50. # "XOX"]) == "O", "Os wins"
  51. assert checkio([
  52. "OOX",
  53. "XXO",
  54. "OXX"]) == "D", "Draw"
  55. # assert checkio([
  56. # "O.X",
  57. # "XX.",
  58. # "XOO"]) == "X", "Xs wins again"
  59. # print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement