Best Python code snippet using hypothesis
puzzle.py
Source:puzzle.py  
...13                rules = right.split(' | ')14                rule = [[int(x) for x in rule_list.split(' ')] for rule_list in rules]15            return rule_id, rule16        self.rules = dict(parse(line) for line in lines)17    def all_matching_strings(self, rule_id):18        if rule_id not in self.rules:19            return set()20        rule = self.rules[rule_id]21        if isinstance(rule, str):22            return {rule}23        def combine(sets):24            if len(sets) == 1:25                return sets[0]26            return set([left + right for left in sets[0] for right in combine(sets[1:])])27        result = map(lambda x: combine([self.all_matching_strings(rid) for rid in x]), rule)28        return set(itertools.chain(*result))29    def matches(self, message, stack):30        if len(stack) == 0:31            return len(message) == 032        rule = self.rules[stack.popleft()]33        if isinstance(rule, str):34            if len(message) == 0:35                return False36            if message[0] == rule:37                return self.matches(message[1:], stack.copy())38        else:39            for r in rule:40                if self.matches(message, deque(r) + stack):41                    return True42        return False43def read_input(filename):44    text = utils.read(filename, 'string')45    rules, messages = text.split('\n\n')46    return Ruleset(rules), messages.splitlines()47class Part1(utils.Part):48    def __init__(self):49        super().__init__(2)50    def run(self, input, is_test):51        ruleset, messages = input52        all_matching_strings = ruleset.all_matching_strings(rule_id=0)53        return sum(message in all_matching_strings for message in messages)54class Part2(utils.Part):55    def __init__(self):56        super().__init__(12)57    def run(self, input, is_test):58        ruleset, messages = input59        ruleset.rules.update({8: [[42], [42, 8]], 11: [[42, 31], [42, 11, 31]]})...solver.py
Source:solver.py  
...7characters += characters.upper()8characters += '?%$#@!^&*()[]\\'91011def all_matching_strings(alphabet, max_length, regex):12    """Find the list of all strings over 'alphabet' of length up to 'max_length' that match 'regex'"""13    14    if max_length == 0: return 15    16    L = len(alphabet)17    for N in range(1, max_length+1):18        indices = [0]*N19        for z in xrange(L**N):20            r = ''.join(alphabet[i] for i in indices)21            if regex.match(r):                22               yield(r)23    24            i = 025            indices[i] += 126            while (i<N) and (indices[i]==L):27                indices[i] = 028                i += 129                if i<N: indices[i] += 130    return3132for r in all_matching_strings(characters, 8, regex): 
...Count Strings.py
Source:Count Strings.py  
1import re23def all_matching_strings(regex, out_length):4	if out_length == 0: return5	output = [0] * out_length6	for x in range(2**out_length):7		r = ''.join(['a','b'][i] for i in output)8		if regex.match(r):9			yield(r)10		i = 011		output[i] += 112		while (i<out_length) and (output[i]==2):13			output[i] = 014			i += 115			if i<out_length: output[i] += 116	return1718count = int(input())19regexs = []20while count > 0:21	str = input().split(' ')22	regexs.append((str[0],int(str[1])))23	a = all_matching_strings(re.compile('^'+str[0]+'$'), int(str[1]))24	print(len([x for x in a]))
...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
