Best Python code snippet using hypothesis
braveburst.py
Source:braveburst.py  
1from util import *2skill_level_process_format = {3    '1': ((0, 'bb atk%', int, not_zero),4          (1, 'bb flat atk', int, not_zero),5          (2, 'bb crit%', int, not_zero),6          (3, 'bb bc%', int, not_zero),7          (4, 'bb hc%', int, not_zero),8          (5, 'bb dmg%', int, not_zero)),9    '2': ((0, 'heal low', int),10          (1, 'heal high', int),11          ([2, 3], 'rec added% (heal)',12           lambda x, y: 100 + ((1 + float(x) / 100) *13                               (1 + float(y) / 100) * 10))),14    '3': ((0, 'gradual heal low', int),15          (1, 'gradual heal high', int),16          (2, 'rec added% (regen)', lambda x: (1 + float(x) / 100) * 10),17          (3, 'gradual heal turns', int)),18    '4': ((0, 'bb bc fill', int, not_zero),19          (1, 'bb bc fill%', int, not_zero)),20    '5': ((0, 'element buffed', elements.get),21          (1, 'atk% buff', int, not_zero),22          (2, 'def% buff', int, not_zero),23          (3, 'rec% buff', int, not_zero),24          (4, 'crit% buff', int, not_zero),25          (5, 'buff turns', int)),26    '6': ((0, 'bc drop rate% buff', int, not_zero),27          (1, 'hc drop rate% buff', int, not_zero)),28    '7': ((0, 'angel idol effect this turn', True),),29    '10': ((0, 'remove all status ailments', True),),30    '11': (([0, 1], ailments.get, second_int, not_zero),31           ([2, 3], ailments.get, second_int, not_zero),32           ([4, 5], ailments.get, second_int, not_zero),33           ([6, 7], ailments.get, second_int, not_zero)),34    '13': ((0, 'random attack', True),35           (0, 'bb atk%', int, not_zero),36           (1, 'bb flat atk', int, not_zero),37           (2, 'bb crit%', int, not_zero),38           (3, 'bb bc%', int, not_zero),39           (4, 'bb hc%', int, not_zero),40           (5, 'hits', int, not_zero)),41    '14': ((0, 'bb atk%', int, not_zero),42           (1, 'bb flat atk', int, not_zero),43           (2, 'bb crit%', int, not_zero),44           (3, 'bb bc%', int, not_zero),45           (4, 'bb hc%', int, not_zero),46           (5, 'bb dmg%', int, not_zero),47           (6, 'hp drain% low', int),48           (7, 'hp drain% high', int)),49    '17': ((6, 'negate status ails turns', int),),50    '18': ((0, 'dmg% reduction', int),51           (1, 'dmg% reduction turns', int)),52    '19': ((0, 'increase bb gauge gradual', bb_gauge),53           (1, 'increase bb gauge gradual turns', int)),54    '20': ((0, 'bc fill when attacked low', bb_gauge),55           (1, 'bc fill when attacked high', bb_gauge),56           (2, 'bc fill when attacked%', int),57           (3, 'bc fill when attacked turns', int)),58    '22': ((0, 'defense% ignore', int),59           (1, 'defense% ignore turns', int)),60    '23': ((0, 'spark dmg% buff', int),61           (6, 'buff turns', int)),62    '29': (([0, 1, 2], 'bb elements',63            lambda x, y, z: map(elements.get, filter(not_zero, [x, y, z]))),64           (3, 'bb atk%', int, not_zero),65           (4, 'bb flat atk', int, not_zero),66           (5, 'bb crit%', int, not_zero),67           (6, 'bb bc%', int, not_zero),68           (7, 'bb hc%', int, not_zero),69           (8, 'bb dmg%', int, not_zero)),70    '30': (([0, 1, 2], 'elements added',71            lambda x, y, z: map(elements.get, filter(not_zero, [x, y, z]))),72           (6, 'elements added turns', int)),73    '31': ((0, 'increase bb gauge', bb_gauge),)74}75def parse_skill_level_process(process_type, process_info):76    if process_type in skill_level_process_format:77        return handle_format(skill_level_process_format[process_type],78                             process_info.split(','))79    return {}80def parse_skill_level_processes(process_types, process_infos):81    level_data = {}82    for process_type, process_info in zip(process_types, process_infos):83        process_data = parse_skill_level_process(process_type,84                                                 process_info)85        if 'elements added' in process_data and 'elements added' in level_data:86            level_data['elements added'] += process_data.pop('elements added')87        if 'bb elements' in process_data and 'bb elements' in level_data:88            level_data['bb elements'] += process_data.pop('bb elements')89        level_data.update(process_data)90    return level_data91def parse_skill_levels(unit_data, skill_data, skill, skill_levels):92    skill_level_format = (93        (1, 'bc cost', bb_gauge),94        lambda lvl: parse_skill_level_processes(95            skill[PROCESS_TYPE].split('@'), lvl[2].split('@')),96        ([], 'max bc generated',97         lambda data: data['hits'] * int(skill[DROP_CHECK_CNT]),98         lambda data: 'hits' in data),99        ([], 'lord damage range',100         lambda data: dmg_str(damage_range_bb(unit_data, skill_data, data)),101         lambda data: 'bb atk%' in data)102    )103    return [handle_format(skill_level_format, level_info.split(':'))104            for level_info in skill_levels[SKILL_LEVELS_PROCESSES].split('|')]105def parse_skill(unit_data, skill, skill_levels, dictionary):106    atk_process_types = {'1', '14', '29'}107    def get_skill_atk_frame(process_types, action_frames):108        for process_type, action_frame in zip(process_types.split('@'),109                                              action_frames.split('@')):110            if process_type in atk_process_types:111                return action_frame112    skill_format = ((BB_NAME, 'name', get_dict_str(dictionary)),113                    (DESC, 'desc', get_dict_str(dictionary)),114                    ([PROCESS_TYPE, DMG_FRAME], 'hits',115                     lambda p, a: hits(get_skill_atk_frame(p, a)),116                     lambda p: not set(p.split('@')).isdisjoint(117                         atk_process_types)),118                    ([PROCESS_TYPE, DMG_FRAME], 'hit dmg% distribution',119                     lambda p, a: hit_dmg_dist(get_skill_atk_frame(p, a)),120                     lambda p, a, data: 'hits' in data),121                    (DROP_CHECK_CNT, 'max bc generated',122                     lambda x, data: data['hits'] * int(x),123                     lambda x, data: 'hits' in data),124                    ([], 'levels', lambda data: parse_skill_levels(125                        unit_data, data, skill, skill_levels)))...leaderskill.py
Source:leaderskill.py  
1from util import *2def parse_elements_buffed(process_info):3    buffs = dict()4    if process_info[0] != '0':5        buffs['elements buffed'] = buffs.get('elements buffed', []) + [6            elements[process_info[0]]]7    if process_info[1] != '0':8        buffs['elements buffed'] = buffs.get('elements buffed', []) + [9            elements[process_info[1]]]10    return buffs11def crit_elem_weakness(x):12    return float(x)*10013genders = {'0': 'genderless', '1': 'male', '2': 'female'}14ls_process_format = {15    '1': ((0, 'atk% buff', int, not_zero),16          (1, 'def% buff', int, not_zero),17          (2, 'rec% buff', int, not_zero),18          (3, 'crit% buff', int, not_zero),19          (4, 'hp% buff', int, not_zero)),20    '2': (parse_elements_buffed,21          (2, 'atk% buff', int, not_zero),22          (3, 'def% buff', int, not_zero),23          (4, 'rec% buff', int, not_zero),24          (5, 'crit% buff', int, not_zero),25          (6, 'hp% buff', int, not_zero)),26    '4': ((0, 'poison resist%', int, not_zero),27          (1, 'weaken resist%', int, not_zero),28          (2, 'sick resist%', int, not_zero),29          (3, 'injury resist%', int, not_zero),30          (4, 'curse resist%', int, not_zero),31          (5, 'paralysis resist%', int, not_zero)),32    '5': (([0, 1], lambda el: '%s resist%%' % elements[el], second_int),),33    '9': ((0, 'bc fill per turn', bb_gauge),),34    '10': ((0, 'hc effectiveness%', int),),35    '11': ((0, 'atk% buff', int, not_zero),36           (1, 'def% buff', int, not_zero),37           (2, 'rec% buff', int, not_zero),38           (3, 'crit% buff', int, not_zero),39           ([5, 4], lambda s: 'hp %s %% buff requirement' %40            ('above' if int(s) == 1 else 'below'), second_int, not_zero)),41    '14': ((0, 'dmg reduction%', int),42           (1, 'dmg reduction chance%', int)),43    '17': ((0, 'hp drain% low', int),44           (1, 'hp drain% high', int),45           (2, 'hp drain chance%', int)),46    '19': ((0, 'bc production%', int, not_zero),47           (1, 'hc production%', int, not_zero),48           (2, 'item production%', int, not_zero),49           (3, 'zel production%', int, not_zero),50           (4, 'karma production%', int, not_zero)),51    '20': (([0, 1], ailments.get, second_int, not_zero),52           ([2, 3], ailments.get, second_int, not_zero),53           ([4, 5], ailments.get, second_int, not_zero),54           ([6, 7], ailments.get, second_int, not_zero)),55    '21': ((0, 'first x turns atk%', int, not_zero),56           (1, 'first x turns def%', int, not_zero),57           (2, 'first x turns rec% GUESSED', int, not_zero),58           (3, 'first x turns crit% GUESSED', int, not_zero),59           (4, 'first x turns', int)),60    '23': ((0, 'battle end bc fill low', bb_gauge),61           (1, 'battle end bc fill high', bb_gauge)),62    '25': ((0, 'bc fill when attacked low', bb_gauge),63           (1, 'bc fill when attacked high', bb_gauge),64           (2, 'bc fill when attacked%', int)),65    '29': ((0, 'ignore def%', int),),66    '30': ((0, 'atk% buff', int, not_zero),67           (1, 'def% buff', int, not_zero),68           (2, 'rec% buff', int, not_zero),69           (3, 'crit% buff', int, not_zero),70           ([5, 4], lambda s: 'bb gauge %s %% buff requirement' %71            ('above' if int(s) == 1 else 'below'), int, not_zero)),72    '31': ((0, 'damage% for spark', int, not_zero),73           (1, 'bc drop% for spark', int, not_zero),74           (2, 'hc drop% for spark', int, not_zero),75           (3, 'item drop% for spark GUESSED', int, not_zero),76           (4, 'zel drop% for spark', int, not_zero),77           (5, 'karma drop% for spark', int, not_zero)),78    '32': ((0, 'bb gauge fill rate%', int),),79    '34': ((0, 'dmg% for crits', crit_elem_weakness),),80    '35': ((0, 'bc fill when attacking low', bb_gauge),81           (1, 'bc fill when attacking high', bb_gauge),82           (2, 'bc fill when attacking%', int)),83    '41': ((0, 'unique elements required', int),84           (1, 'atk% buff', int, not_zero),85           (2, 'def% buff', int, not_zero),86           (3, 'rec% buff', int, not_zero),87           (4, 'crit% buff', int, not_zero),88           (5, 'hp% buff', int, not_zero)),89    '42': ((0, 'gender required', lambda s: genders[s[0]]),90           (1, 'atk% buff', int, not_zero),91           (2, 'def% buff', int, not_zero),92           (3, 'rec% buff', int, not_zero),93           (4, 'crit% buff', int, not_zero),94           (5, 'hp% buff', int, not_zero)),95    '43': ((0, 'take 1 dmg%', int),),96    '48': ((0, 'reduced bb bc cost%', int),),97    '50': ((0, lambda el: '%s units do extra elemental weakness dmg' %98            elements[el], True, not_zero),99           (1, lambda el: '%s units do extra elemental weakness dmg' %100            elements[el], True, not_zero),101           (2, lambda el: '%s units do extra elemental weakness dmg' %102            elements[el], True, not_zero),103           (3, lambda el: '%s units do extra elemental weakness dmg' %104            elements[el], True, not_zero),105           (4, lambda el: '%s units do extra elemental weakness dmg' %106            elements[el], True, not_zero),107           (5, lambda el: '%s units do extra elemental weakness dmg' %108            elements[el], True, not_zero),109           (6, 'dmg% for elemental weakness', crit_elem_weakness)),110}111def parse_ls_process(process_type, process_info):112    if process_type in ls_process_format:113        return handle_format(ls_process_format[process_type],114                             process_info.split(','))115    return {}116def parse_leader_skill(unit_data, leader_skill, dictionary):117    data = dict()118    data['name'] = dictionary.get(leader_skill[LS_NAME], leader_skill[LS_NAME])119    data['desc'] = dictionary.get(leader_skill[DESC], leader_skill[DESC])120    for process_type, process_info in zip(121            leader_skill[PROCESS_TYPE].split('@'),122            leader_skill[LS_PROCESS].split('@')):123        process_data = parse_ls_process(process_type, process_info)124        if 'elements buffed' in process_data and 'elements buffed' in data:125            data['elements buffed'] += process_data.pop('elements buffed')126        data.update(process_data)...12100.py
Source:12100.py  
1import sys2import copy3def plus(boards, not_zero, r, c):4	if boards[r][c] != 0:5		if not_zero == [-1, -1]:6			not_zero = [r, c]7		elif boards[r][c] == boards[not_zero[0]][not_zero[1]]:8			boards[not_zero[0]][not_zero[1]] *= 29			boards[r][c] = 010			not_zero = [-1, -1]11		else:12			not_zero = [r, c]13	return boards, not_zero14def move(boards, d):15	if d % 2 == 0:16		if d == 0:17			r, c = 0, 018			while c < N:19				not_zero = [-1, -1]20				while r < N:21					boards, not_zero = plus(boards, not_zero, r, c)22					r += 123				c += 124				r = 025		elif d == 2:26			r, c = N-1, 027			while c < N:28				not_zero = [-1, -1]29				while r >= 0:30					boards, not_zero = plus(boards, not_zero, r, c)31					r -= 132				c += 133				r = N-134		new_boards = []35		for i in range(N):36			new_boards.append([row[i] for row in boards if row[i] != 0])37			if d == 0:38				new_boards[-1] += [0 for _ in range(N-len(new_boards[-1]))]39			else:40				new_boards[-1] = [0 for _ in range(N-len(new_boards[-1]))] + new_boards[-1]41		boards = [[] for _ in range(N)]42		for i in range(N):43			for j in range(N):44				boards[j % N].append(new_boards[i][j])45	elif d == 1:46		r, c = 0, 047		while r < N:48			not_zero = [-1, -1]49			while c < N:50				boards, not_zero = plus(boards, not_zero, r, c)51				c += 152			r += 153			c = 054		for r in range(N):55			boards[r] = list(filter(lambda x: x != 0, boards[r]))56			boards[r] += [0 for _ in range(N-len(boards[r]))]57	elif d == 3:58		r, c = 0, N-159		while r < N:60			not_zero = [-1, -1]61			while c >= 0:62				boards, not_zero = plus(boards, not_zero, r, c)63				c -=164			r += 165			c = N-166		for r in range(N):67			boards[r] = list(filter(lambda x: x != 0, boards[r]))68			boards[r] = [0 for _ in range(N-len(boards[r]))] + boards[r]69	return boards70def play(boards, rot_cnt, max_value):71	if rot_cnt >= 5:72		now_max = 073		for row in boards:74			now_max = max(now_max, max(row))75		max_value = max(now_max, max_value)76	else:77		direcitions = [[-1,0],[0,1],[1,0],[0,-1]]78		for d_idx in range(4):79			temp = copy.deepcopy(boards)80			temp = move(temp, d_idx)81			max_value = play(temp, rot_cnt + 1, max_value)82	return max_value83N = int(sys.stdin.readline())84boards = []85for _ in range(N):86	boards.append(list(map(int, sys.stdin.readline().split())))...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!!
