Best Python code snippet using autotest_python
4kyu_The_observed_PIN.py
Source:4kyu_The_observed_PIN.py  
...20        '9': ['6', '8', '9'],21        '0': ['0', '8']22    }[digit]23# Returns all possible combinations of items in a list of lists24def generate_patterns(alternatives):25    if DEBUG >= ON:26        print('Entered generate_patterns({}).'.format(alternatives))27    # Example for '11'28    # alternatives = [['1', '2', '4'], ['1', '2', '4']]29    # patterns = ['11', '12', '14', '21', '22', '24', '41', '42', '44']30    if len(alternatives) == 1:31        if DEBUG >= ON:32            print('   Returning {} from generate_patterns({}).'.format(33                alternatives[0], alternatives))34        return alternatives[0]35    if DEBUG >= ON:36        print("   Pattern isn't shallow.")37        print('   Generating patterns for {}.'.format(alternatives))38    patterns = []39    rest = generate_patterns(alternatives[1:])  # rest = ['1', '2', '4']40    for a in alternatives[0]:  # a = ['1', '2', '4']41        for b in a:  # b = '9'42            for c in rest:  # c = '2'43                if DEBUG >= ON:44                    print('      a: {}   b: {}   c: {}.'.format(a, b, c))45                patterns.append(b + c)  # '92'46                if DEBUG >= ON:47                    print('      patterns: {}.'.format(patterns))48    # remove duplicates49    # patterns = list(dict.fromkeys(patterns))50    patterns.sort()51    if DEBUG >= ON:52        print('   Returning {} from generate_patterns({}).'.format(53            patterns, alternatives))54    return patterns55# Main function to obtain all possible combinations of similar looking PINs56def get_pins(observed):57    if DEBUG >= ON:58        print('\n\n###### STARTING RUN FOR  {}  ########\n\n'.format(observed))59    digits = []60    for pos in range(0, len(observed)):61        digits += [observed[pos]]62    if DEBUG >= ON:63        print('digits = {}.'.format(digits))64    alternatives = []65    for pos in range(0, len(digits)):66        alternatives += [find_alternatives(digits[pos])]67    if DEBUG >= HIGH:68        print('alternatives = {}.'.format(alternatives))69    return generate_patterns(alternatives)70# -------- TEST CASES ----------71# def test_and_print(got, expected):72#     if got == expected:73#         test.expect(True)74#     else:75#         print("Got {}, expected {}".format(got, expected))76#         test.expect(False)77start_time = time.time()78test.describe('example tests')79expectations = [('0', ['0', '8']),80                ('8', ['5', '7', '8', '9', '0']),81                ('11', ["11", "22", "44", "12", "21", "14", "41", "24", "42"]),82                ('369', ["339", "366", "399", "658", "636", "258", "268", "669", "668", "266", "369", "398", "256", "296", "259", "368", "638", "396", "238", "356", "659", "639", "666", "359", "336", "299", "338", "696", "269", "358", "656", "698", "699", "298", "236", "239"])]83for tup in expectations:...main.py
Source:main.py  
1# -*- coding: utf-8 -*-2def generate_patterns(elements, bound):3    results = [0]4    size = len(elements)5    for bit in range(1, 1 << size):6        summed = 07        for i in range(size):8            if bit & (1 << i):9                summed += elements[i]10        if summed <= bound:11            results.append(summed)12    return results13def main():14    import sys15    input = sys.stdin.readline16    n, t = map(int, input().split())17    a = list(map(int, input().split()))18    mid = n // 219    first = a[:mid]20    second = a[mid:]21    ans = 022    first_patterns = generate_patterns(first, t)23    second_patterns = sorted([0] + generate_patterns(second, t))24    left_index = 025    right_index = len(second_patterns)26    for first_pattern in first_patterns:27        remain = t - first_pattern28        left = left_index29        right = right_index30        while (right - left) > 1:31            mid = (left + right) // 232            if second_patterns[mid] > remain:33                right = mid34            else:35                left = mid36        ans = max(ans, first_pattern + second_patterns[left])37    print(ans)...test_patterns.py
Source:test_patterns.py  
...3class TestReplace(TestCase):4    def test_three_letters(self):5        self.assertEqual(replace('ABC', pos=0, reps=2, gene_length=1), '?BC')6        self.assertEqual(replace('ABCD', 2, 2, 2), 'AB??')7    def test_generate_patterns(self):8        self.assertEqual(generate_patterns('ABC', max_regex_length=1, gene_length=1),9                         {'?BC', 'A?C', 'AB?', 'ABC'})10        self.assertEqual(generate_patterns('ABCD', max_regex_length=1, gene_length=2),11                         {'ABCD', '??CD', 'AB??'})12        self.assertEqual(generate_patterns('ABCDEF', max_regex_length=2, gene_length=2),...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!!
