I wrote this basic if-thentic tac toe game instruction , but its super-repetition. I was wondering if there is an easier way to make this look more elegant and work more efficiently. I basically want to create a 3x3 grid with coordinates 1-9. Then I invite the player to enter one place, and this place is replaced by either Xor O. Then I repeated until the completed board was reached. Here is my code.
import sys
def game():
global z1, z2, z3, z4, z5, z6, z7, z8, z9
print("Player one is X player two is O \n")
X1 = int(input("Player one, where would you like to put your first X?: "))
if X1 == 1:
z1 = "X"
elif X1 == 2:
z2 = "X"
elif X1 == 3:
z3 = "X"
elif X1 == 4:
z4 = "X"
elif X1 == 5:
z5 = "X"
elif X1 == 6:
z6 = "X"
elif X1 == 7:
z7 = "X"
elif X1 == 8:
z8 = "X"
elif X1 == 9:
z9 = "X"
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
O1 = int(input("Player one, where would you like to put your first O?: "))
if O1 == 1:
z1 = "O"
elif O1 == 2:
z2 = "O"
elif O1 == 3:
z3 = "O"
elif O1 == 4:
z4 = "O"
elif O1 == 5:
z5 = "O"
elif O1 == 6:
z6 = "O"
elif O1 == 7:
z7 = "O"
elif O1 == 8:
z8 = "O"
elif O1 == 9:
z9 = "O"
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
X2 = int(input("Player one, where would you like to put your next X?: "))
if X2 == 1:
z1 = "X"
elif X2 == 2:
z2 = "X"
elif X2 == 3:
z3 = "X"
elif X2 == 4:
z4 = "X"
elif X2 == 5:
z5 = "X"
elif X2 == 6:
z6 = "X"
elif X2 == 7:
z7 = "X"
elif X2 == 8:
z8 = "X"
elif X2 == 9:
z9 = "X"
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
O2 = int(input("Player one, where would you like to put your next O?: "))
if O2 == 1:
z1 = "O"
elif O2 == 2:
z2 = "O"
elif O2 == 3:
z3 = "O"
elif O2 == 4:
z4 = "O"
elif O2 == 5:
z5 = "O"
elif O2 == 6:
z6 = "O"
elif O2 == 7:
z7 = "O"
elif O2 == 8:
z8 = "O"
elif O2 == 9:
z9 = "O"
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
X3 = int(input("Player one, where would you like to put your next X?: "))
if X3 == 1:
z1 = "X"
elif X3 == 2:
z2 = "X"
elif X3 == 3:
z3 = "X"
elif X3 == 4:
z4 = "X"
elif X3 == 5:
z5 = "X"
elif X3 == 6:
z6 = "X"
elif X3 == 7:
z7 = "X"
elif X3 == 8:
z8 = "X"
elif X3 == 9:
z9 = "X"
board()
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
O3 = int(input("Player one, where would you like to put your next O?: "))
if O3 == 1:
z1 = "O"
elif O3 == 2:
z2 = "O"
elif O3 == 3:
z3 = "O"
elif O3 == 4:
z4 = "O"
elif O3 == 5:
z5 = "O"
elif O3 == 6:
z6 = "O"
elif O3 == 7:
z7 = "O"
elif O3 == 8:
z8 = "O"
elif O3 == 9:
z9 = "O"
board()
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
X4 = int(input("Player one, where would you like to put your next X?: "))
if X4 == 1:
z1 = "X"
elif X4 == 2:
z2 = "X"
elif X4 == 3:
z3 = "X"
elif X4 == 4:
z4 = "X"
elif X4 == 5:
z5 = "X"
elif X4 == 6:
z6 = "X"
elif X4 == 7:
z7 = "X"
elif X4 == 8:
z8 = "X"
elif X4 == 9:
z9 = "X"
board()
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
O4 = int(input("Player one, where would you like to put your next O?: "))
if O4 == 1:
z1 = "O"
elif O4 == 2:
z2 = "O"
elif O4 == 3:
z3 = "O"
elif O4 == 4:
z4 = "O"
elif O4 == 5:
z5 = "O"
elif O4 == 6:
z6 = "O"
elif O4 == 7:
z7 = "O"
elif O4 == 8:
z8 = "O"
elif O4 == 9:
z9 = "O"
board()
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
X5 = int(input("Player one, where would you like to put your next X?: "))
if X5 == 1:
z1 = "X"
elif X5 == 2:
z2 = "X"
elif X5 == 3:
z3 = "X"
elif X5 == 4:
z4 = "X"
elif X5 == 5:
z5 = "X"
elif X5 == 6:
z6 = "X"
elif X5 == 7:
z7 = "X"
elif X5 == 8:
z8 = "X"
elif X5 == 9:
z9 = "X"
board()
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
def board():
if z1 == 'X' and z2 == "X" and z3 == "X":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("X wins")
sys.exit()
elif z4 == 'X' and z5 == "X" and z6 == "X":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("X wins")
sys.exit()
elif z7 == 'X' and z8 == "X" and z9 == "X":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("X wins")
sys.exit()
elif z1 == 'X' and z4 == "X" and z7 == "X":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("X wins")
sys.exit()
elif z2 == 'X' and z5 == "X" and z8 == "X":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("X wins")
sys.exit()
elif z3 == 'X' and z6 == "X" and z9 == "X":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("X wins")
sys.exit()
elif z1 == 'X' and z5 == "X" and z9 == "X":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("X wins")
sys.exit()
elif z3 == 'X' and z5 == "X" and z7 == "X":
print("X wins")
sys.exit()
elif z1 == 'O' and z2 == "O" and z3 == "O":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("O wins")
sys.exit()
elif z4 == 'O' and z5 == "O" and z6 == "O":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("O wins")
sys.exit()
elif z7 == 'O' and z8 == "O" and z9 == "O":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("O wins")
sys.exit()
elif z1 == 'O' and z4 == "O" and z7 == "O":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("O wins")
sys.exit()
elif z2 == 'O' and z5 == "O" and z8 == "O":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("O wins")
sys.exit()
elif z3 == 'O' and z6 == "O" and z9 == "O":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("O wins")
sys.exit()
elif z1 == 'O' and z5 == "O" and z9 == "O":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("O wins")
sys.exit()
elif z3 == 'O' and z5 == "O" and z7 == "O":
print(z1, "|", z2, "|", z3)
print(z4, "|", z5, "|", z6)
print(z7, "|", z8, "|", z9)
print("O wins")
sys.exit()
print("Here is your Tic-Tac-Toe board")
z1 = ' '
z2 = ' '
z3 = ' '
z4 = ' '
z5 = ' '
z6 = ' '
z7 = ' '
z8 = ' '
z9 = ' '
print("(1) | (2) | (3)")
print("(4) | (5) | (6)")
print("(7) | (8) | (9)")
game()