1 import sys
2
3 def print_board():
4 for i in range(3):
5 for j in range(3):
6 print map[2 - i][j],
7 if j != 2:
8 print '|',
9 print ''
10
11 def check_done():
12 for i in range(3):
13 if map[i][0] == map[i][1] == map[i][2] != ' ' or map[0][i] == map[1][i] == map[2][i] != ' ':
14 print turn, "Won!!!"
15 return True
16
17 if map[0][0] == map[1][1] == map[2][2] != ' ' or map[0][2] == map[1][1] == map[2][0] != ' ':
18 print turn, "Won!!!"
19 return True
20
21 if ' ' not in map[0] and ' ' not in map[1] and ' ' not in map[2]:
22 print "Draw"
23 return True
24
25 return False
26
27 turn = 'X'
28 done = False
29 map = [[' ', ' ', ' '],
30 [' ', ' ', ' '],
31 [' ', ' ', ' ']]
32 print "Please select position by typing in a number between 1 and 9, see below for which number that is which position..."
33 print "7|8|9"
34 print "4|5|6"
35 print "1|2|3"
36 print_board()
37 while done != True:
38 print turn + "'s turn"
39 try:
40 pos = input("Select: ")
41 if 1 <= pos <= 9:
42 X = (pos - 1) / 3
43 Y = (pos - 1) % 3
44 if map[X][Y] == ' ':
45 map[X][Y] = turn
46 print_board()
47 done = check_done()
48 if done == False:
49 if turn == 'X':
50 turn = 'O'
51 else:
52 turn = 'X'
53 except:
54 print "You need to add a numeric value"