Python Forum

Full Version: What am I missing/forgetting? ://///
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
def tic_tac_toe(): board = [1,2,3,4,5,6,7,8,9]
end = False
win_combinations = ((0, 1, 2), (3, 4, 5), (6, 7, 8), (0, 3, 6), (1,
4, 7), (2, 5, 8), (0, 4, 8), (2, 4, 6))

def draw():
print(board[0], board[1], board[2])
print(board[3], board[4], board[5])
print(board[6], board[7], board[8])
print()
def p1():
n = choose_number()
if board[n] == "X" or board[n] =="0":
print("\nYou can't go there. Try again.")
p1()
else:
board[n] = "X"
def p2():
n = choose_number()
if board[n] == "X" or board [n] == "0":
print("\nYou can't go there. Try again.")
p2()
else:
board[n] = "0"
def choose_number():
while True:
a = input()
try:
a = int(a)
a-= 1
if a in range(0,9):
return a
else:
print("\nThat's not on the board. Try again.")
continue
except ValueError:
print("\nThat's not a number. Try again.") continue
def check board():
count = 0
for a in win_combinations:
if board[a[0]] == board[a[1]] == board[a[2]] == "X":
print("Player 1 Wins!\n")
print("Congratulations!\n")
return True

if board[a[0]] == board[a[1]] == board[a[2]] == "0":
print("Player 2 Wins!\n")
print("Congratulations!\n")
return True

if board[a[0]] == board[a]1]] == board[a[2]] == "0":
print("Player 2 Wins!\n")
print("Congratulations!\n")
return True
for a in range (9):
if board[a] == "X" or board[a] == "0":
count += 1
if count == 9:
print("The game ends in a Tie.\n")
return True
while not end:
draw()
end = check_board()
if end == True
break
print("Player 1 choose where to place a cross.\n")
pl()
print()
draw()
end = check board()
if end == True:
break
print("Player 2 choose where to plae a cross.\n")
p2()
print()
if input("Play again (y/n)\n") == "y":
print()
tic_tac_toe()

tic_tac_toe()






What am I doing wrong???

Error is coming up with, saying: dedent does not match any indentation level; when I intent, I get an invalid syntax, this also happens when i dedent all the way. So, when it matches the prior, I get the indentation error, indent otherwise and I get syntax. I am driving myself crazy.

else: (the one prior to)

board[n] = "0"
def choose_number():
while True:


Someone want to tell me what I am forgetting?
In addition to properly posting your code, include the error code in it's entirety, between the error tags.
UPDATE: NOW HAVING ANOTHER ISSUE ONLY BREAKING OUT OF LOOP :(
please learn how to use code tags ... Read this: BBCODE
(Oct-11-2017, 02:25 AM)aksmlo Wrote: [ -> ]UPDATE: NOW HAVING ANOTHER ISSUE ONLY BREAKING OUT OF LOOP :(

UPDATE: STILL DON'T SEE YOUR CODE OR ERRORS PROPERLY POSTED.
Please write [python] before you paste your code into a post, and then write [/python] after your code is pasted.

(If you prefer, you can paste your code, select it, and then click the python icon in the formatting bar of the post entry dialogue box to enter the start and finish tags for you.)

This will preserve the layout of your code as written in your text editor / IDE, with all the indentations that are critical to python displayed normally.

Without this, the indentations are messed up when you paste code, and we are not as easily able to see where problems might be.