0

im a beginner with python, and I'm having trouble with some functions. I'm pretty sure it might be a syntax error or how i set up the code, since i am a beginner, however, i have no clue why this code works. Here is the code, its for a tic tac toe game in terminal

import random

X = "*"
O = "*"
Player = "*"
Computer = "*"


def inputPlayerLetter():


    if letter == "X":
        print "You are now X's, you will go first"
        Player = "X"
        Computer = "O"
    else:
        print "You are now O's you will go second"
        Player = "O"
        Computer = "X"
    return Player
    return Computer

inputPlayerLetter()

s1 = "*"
s2 = "*"
s3 = "*"
s4 = "*"
s5 = "*"
s6 = "*"
s7 = "*"
s8 = "*"
s9 = "*"

def Board():
    print ""
    print "",s1,"|",s2,"|",s3
    print "","---------"
    print "",s4,"|",s5,"|",s6
    print "","---------"
    print "",s7,"|",s8,"|",s9, "\n"

Board()


def Player1():
    move = raw_input('Choose a space 1-9 \n')

    if move == "1":
    s1 = "X"
    elif move == "2":
        s2 = "X"
    elif move == "3":
        s3 = "X"
    elif move == "4":
        s4 = "X"
    elif move == "5":
        s5 = "X"
    elif move == "6":
        s6 = "X"
    elif move == "7":
        s7 = "X"
    elif move == "8":
        s8 = "X"
    elif move == "9":
        s9 = "X"


def Computer1():
    random.randint(0, 1, 2, 3, 4)

    if random.randint(0, 1, 2, 3, 4) == 0:
    s1 = "X"
    elif random.randint(0, 1, 2, 3, 4) == 1:
        s3 = "X"
    elif random.randint(0, 1, 2, 3, 4) == 2:
        s5 = "X"
    elif random.randint(0, 1, 2, 3, 4) == 3:
        s7 = "X"
    elif random.randint(0, 1, 2, 3, 4) == 4:
        s9 = "X"


Player1()
Board()

if Player == "X":
    Player1()
    Board()
elif Player == "O":
    Computer1()
    Board()

when i run it in terminal, i get this (listed so that the first run i choose X, and the second i choose O, thus the computer is X).

Do you want to be X or O? 
X
You are now X's, you will go first

 * | * | *
 ---------
 * | * | *
 ---------
 * | * | * 

HHNEs-MacBook-Pro-3:ttt hhneadmin$ !!
python ttt.py
Do you want to be X or O? 
O
You are now O's you will go second

 * | * | *
 ---------
 * | * | *
 ---------
 * | * | * 

However, when i have my functions for a player or computer move, their edits to the variables in the Board() don't apply and change the Board(). When the function is called in the if-elif statement at the bottom, why does this have no affect, even though s(number) is redefined from * to X, and then Board() is printed again. Why is this, and is there any way to fix this?

2
Contributors
1
Reply
9
Views
2 Years
Discussion Span
Last Post by woooee
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.