Código de Python - Saltos del caballo de ajedrez

Imágen de perfil
Val: 1.703
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Saltos del caballo de ajedrezgráfica de visualizaciones


Python

Publicado el 15 de Marzo del 2020 por Katas (150 códigos)
11.384 visualizaciones desde el 15 de Marzo del 2020
Un tablero de ajedrez es una grilla de 8 × 8 casillas. Cada celda puede ser representada mediante las coordenadas de su fila y su columna, numeradas desde 1 hasta 8.

El caballo es una pieza que se desplaza en forma de L. Su movimiento consiste en avanzar dos casillas en una dirección y luego una casilla en una dirección perpendicular a la primera.

Escriba un programa que reciba como entrada las coordenadas en que se encuentra un caballo, y entregue como salida todas las casillas hacia las cuales el caballo puede desplazarse.

Todas las coordenadas mostradas deben estar dentro del tablero.

Si la coordenada ingresada por el usuario es inválida, el programa debe indicarlo.

1
2
3
4
saltoCaballo(2, 8) # [[1, 6], [3, 6], [4, 7]]
saltoCaballo(3, 4) # [[1, 3], [1, 5], [2, 2], [2, 6], [4, 2], [4, 6], [5, 3], [5, 5]]
saltoCaballo(1, 1) # [[2, 3], [3, 2]]
saltoCaballo(1, 9) # []

1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 15 de Marzo del 2020gráfica de visualizaciones de la versión: 1
11.385 visualizaciones desde el 15 de Marzo del 2020
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
def saltoCaballo(hor, ver):
    if hor<1 or hor>8 or ver<1 or ver>8:
        return []
    return sorted([[hor+i, ver+j] for i in [-2, 2, 1, -1] for j in [-1, 1, 2, -2] if abs(i)!=abs(j) and hor+i>0 and hor+i<9 and ver+j>0 and ver+j<9])



Comentarios sobre la versión: 1 (1)

Sandra
17 de Marzo del 2020
estrellaestrellaestrellaestrellaestrella
Aquí dejo otro ejercicio de ajedrez. Está sin resolver, si alguien le apetece resolverlo se agradeceria.

Se dice que una matriz a de números enteros tiene un valle en la fila i y la columna j si elemento a[i][j] es menor que cualquiera de sus elementos adyacentes. Diseña y escribe una función que, dadas una matriz a de números enteros, una fila i y una columna j, decida si el elemento a[i][j] es o no un valle. Diseña y escribe una función que, dada una matriz a de números enteros, devuelva una lista con las posiciones (i,j) de los elementos valle de a.
Responder

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6032