Skip to content

Module sudoku.strategies.strategy

None

None

View Source
from __future__ import annotations

from typing import TYPE_CHECKING

if TYPE_CHECKING:

    from ..puzzle import Puzzle, T

class Strategy:

    """

    Also known as a [Solving Technique](http://sudopedia.enjoysudoku.com/Solving_Technique.html)

    Attributes:

        name (str): The name of the strategy

        difficulty (float): The difficulty rating of the strategy defined with

            respect to eliminating a single candidate

    """

    __slots__ = "name", "difficulty"

    name: str

    difficulty: float

    def __init__(self, name=None, difficulty=None):

        self.name = name if name is not None else self.__class__.__name__

        self.difficulty = difficulty

    def __call__(self, puzzle: Puzzle[T]) -> int:

        """

        Apply the strategy to a given sudoku puzzle

        Args:

            puzzle (Puzzle[T]): The sudoku puzzle

        Returns:

            int: The number of candidates eliminated by the strategy with a

                single pass over the sudoku puzzle

        """

__all__ = ("Strategy",)

Classes

Strategy

1
2
3
4
class Strategy(
    name=None,
    difficulty=None
)

Attributes

Name Type Description Default
name str The name of the strategy None
difficulty float The difficulty rating of the strategy defined with
respect to eliminating a single candidate None
View Source
class Strategy:

    """

    Also known as a [Solving Technique](http://sudopedia.enjoysudoku.com/Solving_Technique.html)

    Attributes:

        name (str): The name of the strategy

        difficulty (float): The difficulty rating of the strategy defined with

            respect to eliminating a single candidate

    """

    __slots__ = "name", "difficulty"

    name: str

    difficulty: float

    def __init__(self, name=None, difficulty=None):

        self.name = name if name is not None else self.__class__.__name__

        self.difficulty = difficulty

    def __call__(self, puzzle: Puzzle[T]) -> int:

        """

        Apply the strategy to a given sudoku puzzle

        Args:

            puzzle (Puzzle[T]): The sudoku puzzle

        Returns:

            int: The number of candidates eliminated by the strategy with a

                single pass over the sudoku puzzle

        """

Descendants

  • sudoku.strategies.hidden_subset.HiddenSubset
  • sudoku.strategies.naked_subset.NakedSubset
  • sudoku.strategies.refresh_candidates.RefreshCandidates

Instance variables

1
difficulty
1
name