Os dejo los códigos:
Código:
De paso aprovecho para preguntar si la función return hace que modifique la variable global. No se si me explico, yo al ejecutar las definiciones lo cambio por posicion # x son los datos de fila y columna def AnalizarFilaColumna(x): #Hacer que x sea posicion para que las siguientes definiciones cojan esta y no la que está mal if x[0] not in('1', '2', '3') or x[1] not in('a', 'b', 'c', 'A', 'B', 'C'): while x[0] not in (1, 2, 3) or x[1] not in('a', 'b', 'c'): x = input("La fila o columna introducida es inválida, responde de nuevo a la pregunta (fila,columna): ").split(',') if x[0] in('1', '2', '3') and x[1] in('a', 'b', 'c', 'A', 'B', 'C'): # x son los nuevos datos introducidos y que son correctos return x break def ConvertirCoordenadas(x): #x aparece como los datos introducidos al principio de todo (los que están mal) print(x) x[0] = int(x[0]) - 1 #Fila para matriz (0,1,2) x[1] = x[1].lower() if x[1] == 'a': x[1] = 0 elif x[1] == 'b': x[1] = 1 elif x[1] == 'c': x[1] = 2
Código:
Si falta algún dato que necesiteis saber avisad. posicion = input("Dime en que posicion (fila,columna) quieres jugar: ").split(',') #Y ejecuto así: AnalizarFilaColumna(posicion) ConvertirCoordenadas(posicion)