Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:cursos:introduccion_programacion_python:funciones

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:python:cursos:introduccion_programacion_python:funciones [2023/04/19 10:08] – [Torres de Hanoi] tempwininformatica:programacion:python:cursos:introduccion_programacion_python:funciones [2023/04/19 10:15] (actual) – [Problema de las ocho reinas] tempwin
Línea 510: Línea 510:
  
 El problema de las ocho reinas es un pasatiempo que consiste en poner ocho reinas en el tablero de ajedrez sin que se amenacen. El problema de las ocho reinas es un pasatiempo que consiste en poner ocho reinas en el tablero de ajedrez sin que se amenacen.
 +
 +<WRAP center round info 60%>
 +El problema de las 8 reinas tiene 92 soluciones.
 +</WRAP>
 +
  
 https://es.wikipedia.org/wiki/Problema_de_las_ocho_reinas https://es.wikipedia.org/wiki/Problema_de_las_ocho_reinas
Línea 530: Línea 535:
  
 <code python> <code python>
 +contador_soluciones = 0
 +
 def reinas(posiciones=[]): def reinas(posiciones=[]):
 +    global contador_soluciones # Indicamos que queremos acceder a una variable externa a la función
     # Determinamos el número de fila donde colocar la reina      # Determinamos el número de fila donde colocar la reina 
     # simplemente contando los elementos ya posicionados     # simplemente contando los elementos ya posicionados
Línea 545: Línea 553:
         choque_diagonal = False         choque_diagonal = False
         for f in range(fila):         for f in range(fila):
-            if posicion[f] + fila - f == columna or posicion[f] - fila + f == columna:+            if posiciones[f] + fila - f == columna or posiciones[f] - fila + f == columna:
                 choque_diagonal = True                 choque_diagonal = True
                 break                 break
Línea 562: Línea 570:
             reinas(posiciones)             reinas(posiciones)
         else:         else:
-            mostrar_tablero(posiciones+            contador_soluciones += 1 
 +            print(f"Solución {contador_soluciones}:"
 +            mostrar_tablero(posiciones))
         # Después de todo esto, quitamos la reina que acabamos de colocar         # Después de todo esto, quitamos la reina que acabamos de colocar
         # para seguir explorando soluciones         # para seguir explorando soluciones
informatica/programacion/python/cursos/introduccion_programacion_python/funciones.1681891697.txt.gz · Última modificación: por tempwin