

eval('문자열 수식')을 사용하면 문자열로 된 수식 계산값을 한번에 얻을 수 있음문자열.replace('이 문자를', '이 문자로')문자열에서 특정 문자만 바꾸기itertools.product(요소 리스트, repeat = n)로 n개 뽑는 중복 순열 구하기
import itertools
cases = int(input())
opers = [0, 1, 2]
for _ in range(cases):
n = int(input())
nums = []
all_res = []
for i in range(1, n + 1):
nums.append(i)
res = itertools.product(opers, repeat = n - 1)
res = list(res)
for c in res:
line = f'{nums[0]}'
for i in range(0, len(c)):
if c[i] == 0:
line += '+'
elif c[i] == 1:
line += '-'
elif c[i] == 2:
line += ' '
line += f'{nums[i + 1]}'
no_space_line = line.replace(" ", "")
if eval(no_space_line) == 0: # 문자열 수식을 계산했을 때 0이면 추가
all_res.append(line)
all_res.sort() # ASCII 순서에 따라 수식 정렬
# 수식 출력
for elem in all_res:
print(elem)
print() # 다음 케이스와 한 줄 분리