CompoundCombination
Pactole Index / Combinations / CompoundCombination
Auto-generated documentation for combinations.compound_combination module.
- CompoundCombination
- CombinationFactory
- CompoundCombination
- CompoundCombination()._create_combination
- CompoundCombination().compares
- CompoundCombination().components
- CompoundCombination().copy
- CompoundCombination().dump
- CompoundCombination().equals
- CompoundCombination.from_csv
- CompoundCombination.from_dict
- CompoundCombination.from_json
- CompoundCombination.from_string
- CompoundCombination().get
- CompoundCombination().get_combination
- CompoundCombination.get_combination_factory
- CompoundCombination().get_components
- CompoundCombination.get_components_from_csv
- CompoundCombination.get_components_from_string
- CompoundCombination().get_values
- CompoundCombination().get_winning_rank
- CompoundCombination().includes
- CompoundCombination().intersection
- CompoundCombination().intersects
- CompoundCombination().length
- CompoundCombination().max_winning_rank
- CompoundCombination().min_winning_rank
- CompoundCombination().nb_winning_ranks
- CompoundCombination().similarity
- CompoundCombination().to_csv
- CompoundCombination().to_dict
- CompoundCombination().to_json
- CompoundCombination().to_string
- CompoundCombination().values
- CompoundCombination().winning_ranks
CombinationFactory
Show source in compound_combination.py:27
Protocol for a combination factory.
Signature
CombinationFactory().call
Show source in compound_combination.py:30
Create a combination from the provided components.
Arguments
combination (CombinationInput | CompoundCombination | None): The base combination to build from. If None, uses the provided components. **components (Combination | CombinationInput | CompoundCombination): The components to construct the combination. Can be Combination instances, values to convert to Combination, or CompoundCombination instances.
Returns
- CompoundCombination - An instance of CompoundCombination created from the provided components.
Signature
def __call__(
self,
combination: CombinationInput | CompoundCombination | None = None,
**components: Combination | CombinationInput | CompoundCombination
) -> CompoundCombination: ...
See also
CompoundCombination
Show source in compound_combination.py:50
Class representing a compound combination.
A compound combination can consist of multiple components (e.g., main numbers, bonus numbers). Components are built from Combination instances.
Arguments
combination (CompoundCombination | None): The combination to copy from. winning_ranks (CombinationWinningRanks | None): The winning ranks mapping. If None, initializes an empty mapping. **components (Combination | CombinationInput): The components of the combination. Each can be either a Combination instance or a value/list that will be converted to a Combination.
Raises
ValueError- If a component cannot be converted to a Combination instance.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> compound_comb.components
{'main': Combination([1, 2, 3, 4, 5]), 'bonus': Combination([6])}
You can also use lists directly:
>>> compound_comb = CompoundCombination(
... main=[1, 2, 3, 4, 5],
... bonus=[6]
... )
>>> compound_comb.values
[1, 2, 3, 4, 5, 6]
Signature
class CompoundCombination:
def __init__(
self,
combination: CompoundCombination | None = None,
winning_ranks: CombinationWinningRanks | None = None,
**components: Combination | CombinationInput
) -> None: ...
CompoundCombination()._create_combination
Show source in compound_combination.py:376
Create a correct class instance from the given components and winning ranks.
Signature
def _create_combination(
self,
winning_ranks: CombinationWinningRanks | None = None,
**components: Combination | CombinationInput
) -> CompoundCombination: ...
CompoundCombination().compares
Show source in compound_combination.py:701
Compare the combination with another combination.
Arguments
combination (CombinationInput | CompoundCombination | None): The other combination to compare against. **components (CombinationInputOrRank | CompoundCombination): The components of the other combination.
Returns
int- -1 if self < combination, 0 if self == combination, 1 if self > combination.
Raises
KeyError- If a component name does not exist in the current combination.
Examples
>>> main_numbers1 = Combination([1, 2, 3, 4, 5])
>>> bonus_number1 = Combination([6])
>>> compound_comb1 = CompoundCombination(
... main=main_numbers1,
... bonus=bonus_number1
... )
>>> main_numbers2 = Combination([1, 2, 3, 4, 5])
>>> bonus_number2 = Combination([7])
>>> compound_comb2 = CompoundCombination(
... main=main_numbers2,
... bonus=bonus_number2
... )
>>> compound_comb1.compares(compound_comb2)
-1
Signature
def compares(
self,
combination: CombinationInput | CompoundCombination | None = None,
**components: CombinationInputOrRank | CompoundCombination
) -> int: ...
CompoundCombination().components
Show source in compound_combination.py:108
Get the components of the combination.
Returns
- CombinationComponents - The components of the combination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> compound_comb.components
{'main': Combination([1, 2, 3, 4, 5]), 'bonus': Combination([6])}
Signature
See also
CompoundCombination().copy
Show source in compound_combination.py:273
Create a copy of the CompoundCombination with optional modifications.
Arguments
winning_ranks (CombinationWinningRanks | None): The winning ranks mapping. If None, uses the current instance's winning ranks. **components (Combination | CombinationInput): The components to modify in the copy. Can be Combination instances or values that will be converted to Combination. If not provided, the original component is used.
Returns
- CompoundCombination - A new CompoundCombination instance with the specified modifications.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> winning_ranks = {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number,
... winning_ranks=winning_ranks
... )
>>> new_comb = compound_comb.copy(main=[1, 2, 3, 6, 7])
>>> new_comb.components
{'main': Combination([1, 2, 3, 6, 7]), 'bonus': Combination([6])}
Signature
def copy(
self,
winning_ranks: CombinationWinningRanks | None = None,
**components: Combination | CombinationInput
) -> CompoundCombination: ...
CompoundCombination().dump
Show source in compound_combination.py:813
Dump the CompoundCombination to a dictionary.
Returns
dict- A dictionary representation of the CompoundCombination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> winning_ranks = {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number,
... winning_ranks=winning_ranks
... )
>>> compound_comb.dump()
{
'main': [1, 2, 3, 4, 5],
'bonus': [6],
}
Signature
CompoundCombination().equals
Show source in compound_combination.py:515
Check if the combination is equal to another combination.
Arguments
combination (CombinationInput | CompoundCombination | None): The other combination to compare against. **components (CombinationInputOrRank | CompoundCombination): The components of the other combination.
Returns
bool- True if equal, False otherwise.
Raises
KeyError- If a component name does not exist in the current combination.
Examples
>>> main_numbers1 = Combination([1, 2, 3, 4, 5])
>>> bonus_number1 = Combination([6])
>>> compound_comb1 = CompoundCombination(
... main=main_numbers1,
... bonus=bonus_number1
... )
>>> main_numbers2 = Combination([1, 2, 3, 4, 5])
>>> bonus_number2 = Combination([6])
>>> compound_comb2 = CompoundCombination(
... main=main_numbers2,
... bonus=bonus_number2
... )
>>> compound_comb1.equals(compound_comb2)
True
Signature
def equals(
self,
combination: CombinationInput | CompoundCombination | None = None,
**components: CombinationInputOrRank | CompoundCombination
) -> bool: ...
CompoundCombination.from_csv
Show source in compound_combination.py:1002
Create a CompoundCombination from a CSV-serializable dictionary.
Arguments
- Data dict - A CSV-serializable dictionary representation of a CompoundCombination.
Returns
- CompoundCombination - The created CompoundCombination instance.
Examples
>>> data = {'main_1': 1, 'main_2': 2, 'main_3': 3, 'main_4': 4, 'main_5': 5,
... 'bonus_1': 6}
>>> combination = CompoundCombination.from_csv(data)
>>> combination.components['main'].values
[1, 2, 3, 4, 5]
>>> combination.components['bonus'].values
[6]
Signature
CompoundCombination.from_dict
Show source in compound_combination.py:1047
Create a CompoundCombination from a dictionary.
Arguments
- Data dict - A dictionary representation of a CompoundCombination.
Returns
- CompoundCombination - The created CompoundCombination instance.
Examples
>>> data = {
... 'components': {
... 'main': {'values': [1, 2, 3, 4, 5], 'rank': None, 'start': 1},
... 'bonus': {'values': [6], 'rank': None, 'start': 1}
... },
... 'winning_ranks': {(5, 1): 1}
... }
>>> compound_comb = CompoundCombination.from_dict(data)
>>> compound_comb.components
{'main': Combination([1, 2, 3, 4, 5]), 'bonus': Combination([6])}
>>> compound_comb.winning_ranks
{(5, 1): 1}
Signature
CompoundCombination.from_json
Show source in compound_combination.py:1023
Create a CompoundCombination from a JSON-serializable dictionary.
Arguments
- Data dict - A JSON-serializable dictionary representation of a CompoundCombination.
Returns
- CompoundCombination - The created CompoundCombination instance.
Examples
>>> data = {
... 'components': {
... 'main': {'values': [1, 2, 3, 4, 5], 'rank': None, 'start': 1},
... 'bonus': {'values': [6], 'rank': None, 'start': 1}
... },
... 'winning_ranks': {(5, 1): 1}
... }
>>> compound_comb = CompoundCombination.from_json(data)
>>> compound_comb.components
{'main': Combination([1, 2, 3, 4, 5]), 'bonus': Combination([6])}
Signature
CompoundCombination.from_string
Show source in compound_combination.py:982
Create a CompoundCombination from a string representation.
Arguments
- Data str - A string representation of a CompoundCombination.
Returns
- CompoundCombination - The created CompoundCombination instance.
Examples
>>> data = 'main: [1, 2, 3, 4, 5] bonus: [6]'
>>> combination = CompoundCombination.from_string(data)
>>> combination.components['main'].values
[1, 2, 3, 4, 5]
>>> combination.components['bonus'].values
[6]
Signature
CompoundCombination().get
Show source in compound_combination.py:421
Get the parameters for a specific component of the combination.
Arguments
namestr - The name of the component.
Returns
Combination | None: The parameters for the specified component, or None if not found.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> compound_comb.get('main')
Combination([1, 2, 3, 4, 5])
>>> compound_comb.get('bonus')
Combination([6])
>>> compound_comb.get('extra')
None
Signature
CompoundCombination().get_combination
Show source in compound_combination.py:314
Get a CompoundCombination based on provided components.
When a flat list of values is provided, it is split among the components in order by the current length of each component. This means the flat-list input works correctly only when all components have at least one value.
Arguments
combination (CombinationInput | CompoundCombination | None): The base combination to build from. If None, uses the provided components. Integer rank input is not supported; use a subclass that provides rank-based retrieval. winning_ranks (CombinationWinningRanks | None): The winning ranks mapping. If None, uses the current instance's winning ranks. **components (Combination | CombinationInput | CompoundCombination): The components to construct the combination. Can be Combination instances, values to convert to Combination, or CompoundCombination instances.
Returns
- CompoundCombination - The constructed CompoundCombination.
Raises
KeyError- If a component name does not exist in the current combination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> new_comb = compound_comb.get_combination(main=[1, 2, 3, 6, 7])
>>> new_comb.components
{'main': Combination([1, 2, 3, 6, 7]), 'bonus': Combination([6])}
Signature
def get_combination(
self,
combination: CombinationInput | CompoundCombination | None = None,
winning_ranks: CombinationWinningRanks | None = None,
**components: Combination | CombinationInput | CompoundCombination
) -> CompoundCombination: ...
CompoundCombination.get_combination_factory
Show source in compound_combination.py:237
Get the combination factory.
It checks that the provided combination_factory is a callable, and if not, it returns a default factory from CompoundCombination, which in this case will produce combinations with no winning ranks since the default CompoundCombination has no winning ranks.
An instance of a CompoundCombination can be used to produce a factory.
Arguments
combination_factory (CombinationFactory | CompoundCombination | Any): A factory function or class to create a combination instance. If not callable, a default CompoundCombination instance will be used.
Returns
- CombinationFactory - The combination factory.
Examples
>>> factory = CompoundCombination.get_combination_factory(None)
>>> factory(main=[1, 2, 3, 4, 5], bonus=[6])
CompoundCombination(main=Combination([1, 2, 3, 4, 5]), bonus=Combination([6]))
>>> factory = CompoundCombination.get_combination_factory(CompoundCombination(
... main=Combination([1, 2, 3, 4, 5])
... ))
>>> factory(main=[3, 4, 5, 6, 7])
CompoundCombination(main=Combination([3, 4, 5, 6, 7]), bonus=Combination([]))
Signature
@staticmethod
def get_combination_factory(
combination_factory: CombinationFactory | CompoundCombination | Any,
) -> CombinationFactory: ...
See also
CompoundCombination().get_components
Show source in compound_combination.py:384
Get the parameters for multiple components of the combination.
Arguments
**components (Combination | CombinationInput | CompoundCombination): The names and values of the components. Can be Combination instances, values to convert to Combination, or CompoundCombination instances.
Returns
- CombinationComponents - The parameters for the specified components.
Raises
KeyError- If a component name does not exist in the current combination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> compound_comb.get_components(main=[1, 2, 3, 4, 5], bonus=[6])
{'main': Combination([1, 2, 3, 4, 5]), 'bonus': Combination([6])}
>>> compound_comb.get_components(main=[1, 2, 3])
{'main': Combination([1, 2, 3])}
>>> compound_comb.get_components(bonus=[7])
{'bonus': Combination([7])}
>>> compound_comb.get_components(extra=[8])
KeyError: 'extra'
Signature
def get_components(
self, **components: Combination | CombinationInput | CompoundCombination
) -> CombinationComponents: ...
See also
CompoundCombination.get_components_from_csv
Show source in compound_combination.py:955
Parse a CSV-compatible dictionary into compound component values.
Arguments
- Data dict - A CSV-compatible dictionary representation of a CompoundCombination.
Returns
dict- Parsed component values keyed by component name.
Examples
>>> data = {'numbers_1': 1, 'numbers_2': 2, 'extra_1': 6}
>>> CompoundCombination.get_components_from_csv(data)
{'numbers': [1, 2], 'extra': [6]}
Signature
CompoundCombination.get_components_from_string
Show source in compound_combination.py:935
Parse a string representation into compound component values.
Arguments
- Data str - A string representation of a CompoundCombination.
Returns
dict- Parsed component values keyed by component name.
Examples
>>> data = 'numbers: [1, 2, 3, 4, 5] extra: [6, 7, 8]'
>>> CompoundCombination.get_components_from_string(data)
{'numbers': [1, 2, 3, 4, 5], 'extra': [6, 7, 8]}
Signature
CompoundCombination().get_values
Show source in compound_combination.py:446
Get the values for a specific component of the combination.
Arguments
namestr - The name of the component.
Returns
CombinationValues- The values for the specified component.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> compound_comb.get_values('main')
[1, 2, 3, 4, 5]
>>> compound_comb.get_values('bonus')
[6]
>>> compound_comb.get_values('extra')
[]
Signature
CompoundCombination().get_winning_rank
Show source in compound_combination.py:475
Get the winning rank of the combination against a winning combination.
Arguments
combination (CombinationInput | CompoundCombination | None): The winning combination to compare against. **components (CombinationInputOrRank | CompoundCombination): The components of the winning combination.
Returns
int | None: The winning rank, or None if not a winning combination.
Raises
KeyError- If a component name does not exist in the current combination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> winning_ranks = {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number,
... winning_ranks=winning_ranks
... )
>>> winning_comb = compound_comb.get_combination(main=[1, 2, 3, 4, 5], bonus=[6])
>>> compound_comb.get_winning_rank(winning_comb)
1
>>> winning_comb = compound_comb.get_combination(main=[1, 2, 3, 4, 5], bonus=[7])
>>> compound_comb.get_winning_rank(winning_comb)
2
Signature
def get_winning_rank(
self,
combination: CombinationInput | CompoundCombination | None = None,
**components: CombinationInputOrRank | CompoundCombination
) -> int | None: ...
CompoundCombination().includes
Show source in compound_combination.py:565
Check if the combination includes another combination.
Arguments
combination (CombinationInput | CompoundCombination | None): The other combination to compare against. **components (CombinationInputOrRank | CompoundCombination): The components of the other combination.
Returns
bool- True if includes, False otherwise.
Raises
KeyError- If a component name does not exist in the current combination.
Examples
>>> main_numbers1 = Combination([1, 2, 3, 4, 5])
>>> bonus_number1 = Combination([6])
>>> compound_comb1 = CompoundCombination(
... main=main_numbers1,
... bonus=bonus_number1
... )
>>> main_numbers2 = Combination([1, 2, 3])
>>> bonus_number2 = Combination([6])
>>> compound_comb2 = CompoundCombination(
... main=main_numbers2,
... bonus=bonus_number2
... )
>>> compound_comb1.includes(compound_comb2)
True
Signature
def includes(
self,
combination: CombinationInput | CompoundCombination | None = None,
**components: CombinationInputOrRank | CompoundCombination
) -> bool: ...
CompoundCombination().intersection
Show source in compound_combination.py:656
Get the intersection with another combination.
Arguments
combination (CombinationInput | CompoundCombination | None): The other combination to compare against. **components (CombinationInputOrRank | CompoundCombination): The components of the other combination.
Returns
- CompoundCombination - The intersection combination.
Raises
KeyError- If a component name does not exist in the current combination.
Examples
>>> main_numbers1 = Combination([1, 2, 3, 4, 5])
>>> bonus_number1 = Combination([6])
>>> compound_comb1 = CompoundCombination(
... main=main_numbers1,
... bonus=bonus_number1
... )
>>> main_numbers2 = Combination([4, 5, 6])
>>> bonus_number2 = Combination([7])
>>> compound_comb2 = CompoundCombination(
... main=main_numbers2,
... bonus=bonus_number2
... )
>>> intersection_comb = compound_comb1.intersection(compound_comb2)
>>> intersection_comb.values
[4, 5]
Signature
def intersection(
self,
combination: CombinationInput | CompoundCombination | None = None,
**components: CombinationInputOrRank | CompoundCombination
) -> CompoundCombination: ...
CompoundCombination().intersects
Show source in compound_combination.py:610
Check if the combination intersects with another combination.
Arguments
combination (CombinationInput | CompoundCombination | None): The other combination to compare against. **components (CombinationInputOrRank | CompoundCombination): The components of the other combination.
Returns
bool- True if intersects, False otherwise.
Raises
KeyError- If a component name does not exist in the current combination.
Examples
>>> main_numbers1 = Combination([1, 2, 3, 4, 5])
>>> bonus_number1 = Combination([6])
>>> compound_comb1 = CompoundCombination(
... main=main_numbers1,
... bonus=bonus_number1
... )
>>> main_numbers2 = Combination([4, 5, 6])
>>> bonus_number2 = Combination([6])
>>> compound_comb2 = CompoundCombination(
... main=main_numbers2,
... bonus=bonus_number2
... )
>>> compound_comb1.intersects(compound_comb2)
True
Signature
def intersects(
self,
combination: CombinationInput | CompoundCombination | None = None,
**components: CombinationInputOrRank | CompoundCombination
) -> bool: ...
CompoundCombination().length
Show source in compound_combination.py:146
Get the total length of the combination.
Returns
int- The total length of the combination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> compound_comb.length
6
Signature
CompoundCombination().max_winning_rank
Show source in compound_combination.py:218
Get the maximum winning rank.
Returns
int | None: The maximum winning rank, or None if there are no winning ranks.
Examples
>>> winning_ranks = {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
>>> compound_comb = CompoundCombination(winning_ranks=winning_ranks)
>>> compound_comb.max_winning_rank
4
>>> CompoundCombination().max_winning_rank
None
Signature
CompoundCombination().min_winning_rank
Show source in compound_combination.py:199
Get the minimum winning rank.
Returns
int | None: The minimum winning rank, or None if there are no winning ranks.
Examples
>>> winning_ranks = {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
>>> compound_comb = CompoundCombination(winning_ranks=winning_ranks)
>>> compound_comb.min_winning_rank
1
>>> CompoundCombination().min_winning_rank
None
Signature
CompoundCombination().nb_winning_ranks
Show source in compound_combination.py:180
Get the number of winning ranks.
Returns
int- The number of winning ranks.
Examples
>>> winning_ranks = {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
>>> compound_comb = CompoundCombination(winning_ranks=winning_ranks)
>>> compound_comb.nb_winning_ranks
4
Signature
CompoundCombination().similarity
Show source in compound_combination.py:752
Calculate the similarity with another combination.
Arguments
combination (CombinationInput | CompoundCombination | None): The other combination to compare against. **components (CombinationInputOrRank | CompoundCombination): The components of the other combination.
Returns
float- Similarity ratio between 0 and 1.
Raises
KeyError- If a component name does not exist in the current combination.
Examples
>>> main_numbers1 = Combination([1, 2, 3, 4, 5])
>>> bonus_number1 = Combination([6])
>>> compound_comb1 = CompoundCombination(
... main=main_numbers1,
... bonus=bonus_number1
... )
>>> main_numbers2 = Combination([1, 2, 3, 6, 7])
>>> bonus_number2 = Combination([8])
>>> compound_comb2 = CompoundCombination(
... main=main_numbers2,
... bonus=bonus_number2
... )
>>> compound_comb1.similarity(compound_comb2)
0.5
Signature
def similarity(
self,
combination: CombinationInput | CompoundCombination | None = None,
**components: CombinationInputOrRank | CompoundCombination
) -> float: ...
CompoundCombination().to_csv
Show source in compound_combination.py:854
Convert the CompoundCombination to a CSV-serializable dictionary.
Returns
dict- A CSV-serializable dictionary representation of the CompoundCombination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> compound_comb.to_csv()
{'main_1': 1, 'main_2': 2, 'main_3': 3, 'main_4': 4, 'main_5': 5, 'bonus_1': 6}
Signature
CompoundCombination().to_dict
Show source in compound_combination.py:904
Convert the CompoundCombination to a dictionary.
Returns
dict- A dictionary representation of the CompoundCombination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> winning_ranks = {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number,
... winning_ranks=winning_ranks
... )
>>> compound_comb.to_dict()
{
'components': {
'main': {'values': [1, 2, 3, 4, 5], 'rank': None, 'start': 1},
'bonus': {'values': [6], 'rank': None, 'start': 1}
},
'winning_ranks': {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
}
Signature
CompoundCombination().to_json
Show source in compound_combination.py:878
Convert the CompoundCombination to a JSON-serializable dictionary.
Returns
dict- A JSON-serializable dictionary representation of the CompoundCombination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> winning_ranks = {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number,
... winning_ranks=winning_ranks
... )
>>> compound_comb.to_json()
{
'components': {
'main': {'values': [1, 2, 3, 4, 5], 'rank': None, 'start': 1},
'bonus': {'values': [6], 'rank': None, 'start': 1}
},
'winning_ranks': {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
}
Signature
CompoundCombination().to_string
Show source in compound_combination.py:836
Convert the CompoundCombination to a string representation.
Returns
str- A string representation of the CompoundCombination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> compound_comb.to_string()
'main: [1, 2, 3, 4, 5] bonus: [6]'
Signature
CompoundCombination().values
Show source in compound_combination.py:127
Get all numbers in the combination.
Returns
CombinationValues- The list of all numbers in the combination.
Examples
>>> main_numbers = Combination([1, 2, 3, 4, 5])
>>> bonus_number = Combination([6])
>>> compound_comb = CompoundCombination(
... main=main_numbers,
... bonus=bonus_number
... )
>>> compound_comb.values
[1, 2, 3, 4, 5, 6]
Signature
CompoundCombination().winning_ranks
Show source in compound_combination.py:165
Get the winning ranks mapping.
Returns
- CombinationWinningRanks - The winning ranks mapping.
Examples
>>> winning_ranks = {(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}
>>> compound_comb = CompoundCombination(winning_ranks=winning_ranks)
>>> compound_comb.winning_ranks
{(5, 1): 1, (5, 0): 2, (4, 1): 3, (4, 0): 4}