Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2014, 17:01
Ai7or21
 
Fecha de Ingreso: marzo-2014
Mensajes: 12
Antigüedad: 10 años, 9 meses
Puntos: 0
Invalid Syntax con una variable

Hola, soy novato en programación y estoy aprendiendo python, ahora mismo estoy haciendo un pequeño juego de Las tres en raya o tic tac toe sin interfaz gráfica compleja, la duda viene aquí:
Código:
def turno_pcC():
    randoms = []
    x_pcC = random.choice(range(0, 3))
    y_pcC = random.choice(range(0, 3))

    while tablero[x_j1 - 1[y_j1 - 1] == "X" or tablero[x_j2 - 1][y_j2 - 1] == "X" or tablero[x_j3 - 1][y_j3 - 1] == "X" or tablero[x_pcB][y_pcB] == "B" or tablero[x_pcA][y_pcA] == "C":
        x_pcC = random.choice(range(0, 3))
        y_pcC = random.choice(range(0, 3))

    tablero[x_pcC][y_pcC] = "C"
Me da error(Invalid Syntax) en esa función, en concreto justo debajo del bucle while. Dejo el código completo por si es de ayuda(no esta terminado):
Código:
import random

tablero = []
ganar = 0

xj_1 = 0
xj_2 = 0
xj_3 = 0

yj_1 = 0
yj_2 = 0
yj_3 = 0

xpc_A = 0
xpc_B = 0
xpc_C = 0

ypc_A = 0
ypc_B = 0
ypc_C = 0

def print_tab(tablero):
    for fila in tablero:
        print " ".join(fila)


def turno_pcA():
    x_pcA = random.choice(range(0, 3))
    y_pcA = random.choice(range(0, 3))

    while tablero[x_j1 - 1][y_j1 - 1] == "X":
        x_pcA = random.choice(range(0, 3))
        y_pcA = random.choice(range(0, 3))
        tablero[x_pcA][y_pcA] = "A"

def turno_pcB():
    x_pcB = random.choice(range(0, 3))
    y_pcB = random.choice(range(0, 3))

    while tablero[x_j1 - 1][y_j1 - 1] == "X" or tablero[x_j2 - 1][y_j2 - 1] == "X" or tablero[x_pcA][y_pcA] == "A" :
        x_pcB = random.choice(range(0, 3))
        y_pcB = random.choice(range(0, 3))

    tablero[x_pcB][y_pcB] = "B"

def turno_pcC():
    randoms = []
    x_pcC = random.choice(range(0, 3))
    y_pcC = random.choice(range(0, 3))

    while tablero[x_j1 - 1[y_j1 - 1] == "X" or tablero[x_j2 - 1][y_j2 - 1] == "X" or tablero[x_j3 - 1][y_j3 - 1] == "X" or tablero[x_pcB][y_pcB] == "B" or tablero[x_pcA][y_pcA] == "C":
        x_pcC = random.choice(range(0, 3))
        y_pcC = random.choice(range(0, 3))

    tablero[x_pcC][y_pcC] = "C"


for fila in range(0, 3):
    tablero.append(["O"] * 3)

print_tab(tablero)

x_j1 = input(u"T1 Posición x")
y_j1 = input(u"T1 Posición Y")
tablero[x_j1 - 1][y_j1 - 1] = "X"

turno_pcA()
print_tab(tablero)

x_j2 = input(u"Posición x")
y_j2 = input(u"Posición Y")
tablero[x_j2 - 1][y_j2 - 1] = "X"

turno_pcB()
print_tab(tablero)

x_j3 = input(u"Posición x")
y_j3 = input(u"Posición Y")
tablero[x_j3 - 1][y_j3 - 1] = "X"

turno_pcC()
print_tab(tablero)
Gracias.