Code: Alles auswählen
from multiprocessing import Pool
from itertools import combinations
import operator
import collections
try:
from functools import reduce
except ImportError:
pass
try:
from itertools import imap
except ImportError:
imap = map
DIFFERENT_VALUES = 49
NUMBERS = list(range(1,DIFFERENT_VALUES + 1))
MIN_VALUE = 2*10**6
VALUES_TO_COMBINE = 6
PROCESSES = 14
CHUNKSIZE = 10**6
def product(iterable):
return reduce(operator.mul, iterable, 1)
def give_combinations():
return combinations(NUMBERS, 6)
def check_combinations(combinations_to_check):
for combination in combinations_to_check():
sum_of_numbers = sum(combination)
x = sum_of_numbers * sums[sum_of_numbers]
if x > MIN_VALUE and product(combination) == x:
return(combination)
def find_combination():
pool = Pool(processes=PROCESSES)
sums = collections.Counter(imap(sum, give_combinations()))
result = pool.map(check_combinations, give_combinations(), CHUNKSIZE)
return result
if __name__ == "__main__":
print(find_combination())
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Users\XX\Desktop\Lotto.py", line 41, in <module>
print(find_combination())
File "C:\Users\XX\Desktop\Lotto.py", line 37, in find_combination
result = pool.map(check_combinations, give_combinations(), CHUNKSIZE)
File "C:\Python32\lib\multiprocessing\pool.py", line 251, in map
return self.map_async(func, iterable, chunksize).get()
File "C:\Python32\lib\multiprocessing\pool.py", line 556, in get
raise self._value
TypeError: 'tuple' object is not callable
Gruß HH