Python Forum
What am I missing/forgetting? ://///
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What am I missing/forgetting? ://///
#1
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?
Reply
#2
In addition to properly posting your code, include the error code in it's entirety, between the error tags.
If it ain't broke, I just haven't gotten to it yet.
OS: Windows 10, openSuse 42.3, freeBSD 11, Raspian "Stretch"
Python 3.6.5, IDE: PyCharm 2018 Community Edition
Reply
#3
UPDATE: NOW HAVING ANOTHER ISSUE ONLY BREAKING OUT OF LOOP :(
Reply
#4
please learn how to use code tags ... Read this: BBCODE
Reply
#5
(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.
If it ain't broke, I just haven't gotten to it yet.
OS: Windows 10, openSuse 42.3, freeBSD 11, Raspian "Stretch"
Python 3.6.5, IDE: PyCharm 2018 Community Edition
Reply
#6
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.
I am trying to help you, really, even if it doesn't always seem that way
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020