Buggy python submission (verdict: Runtime Error):
import numpy as np

N = np.array([int(el) for el in list(input())])

A = np.array([[1,1,1,1],
             [1,-1,1,1],[1,1,-1,1],[1,1,1,-1],
             [1,-1,-1,1],[1,-1,1,-1],[1,1,-1,-1],
             [1,-1,-1,-1]])

B = np.matmul(A, N)

def result(B):
    if B[0] == 7:
        print("{}+{}+{}+{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[1] == 7:
        print("{}-{}+{}+{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[2] == 7:
        print("{}+{}-{}+{}=7".format(N[0],N[1],N[2],N[3])) 
        return
    if B[3] == 7:
        print("{}+{}-{}+{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[4] == 7:
        print("{}+{}+{}-{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[5] == 7:
        print("{}-{}-{}+{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[6] == 7:
        print("{}-{}+{}-{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[7] == 7:
        print("{}+{}-{}-{}=7".format(N[0],N[1],N[2],N[3]))
        return

result(B)

Fixed submission:
N = [int(el) for el in list(input())]

def result(N):
    if N[0]+N[1]+N[2]+N[3] ==7:
        print('{}+{}+{}+{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]-N[1]+N[2]+N[3]==7:
        print('{}-{}+{}+{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]+N[1]-N[2]+N[3]==7:
        print('{}+{}-{}+{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]+N[1]+N[2]-N[3]==7:
        print('{}+{}+{}-{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]-N[1]-N[2]+N[3]==7:
        print('{}-{}-{}+{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]-N[1]+N[2]-N[3]==7:
        print('{}-{}+{}-{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]+N[1]-N[2]-N[3]==7:
        print('{}+{}-{}-{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]-N[1]-N[2]-N[3]==7:
        print('{}-{}-{}-{}=7'.format(N[0],N[1],N[2],N[3]))
        return
result(N)

Buggy python submission (verdict: Runtime Error):
import numpy as np

N = np.array([int(el) for el in list(input())])

A = np.array([[1,1,1,1],
             [1,-1,1,1],[1,1,-1,1],[1,1,1,-1],
             [1,-1,-1,1],[1,-1,1,-1],[1,1,-1,-1],
             [1,-1,-1,-1]])

B = np.matmul(A, N)

def result(B):
    if B[0] == 7:
        print("{}+{}+{}+{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[1] == 7:
        print("{}-{}+{}+{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[2] == 7:
        print("{}+{}-{}+{}=7".format(N[0],N[1],N[2],N[3])) 
        return
    if B[3] == 7:
        print("{}+{}-{}+{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[4] == 7:
        print("{}+{}+{}-{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[5] == 7:
        print("{}-{}-{}+{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[6] == 7:
        print("{}-{}+{}-{}=7".format(N[0],N[1],N[2],N[3]))
        return
    if B[7] == 7:
        print("{}+{}-{}-{}=7".format(N[0],N[1],N[2],N[3]))
        return

result(B)

Fixed submission:
N = [int(el) for el in list(input())]

def result(N):
    if N[0]+N[1]+N[2]+N[3] ==7:
        print('{}+{}+{}+{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]-N[1]+N[2]+N[3]==7:
        print('{}-{}+{}+{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]+N[1]-N[2]+N[3]==7:
        print('{}+{}-{}+{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]+N[1]+N[2]-N[3]==7:
        print('{}+{}+{}-{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]-N[1]-N[2]+N[3]==7:
        print('{}-{}-{}+{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]-N[1]+N[2]-N[3]==7:
        print('{}-{}+{}-{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]+N[1]-N[2]-N[3]==7:
        print('{}+{}-{}-{}=7'.format(N[0],N[1],N[2],N[3]))
        return
    if N[0]-N[1]-N[2]-N[3]==7:
        print('{}-{}-{}-{}=7'.format(N[0],N[1],N[2],N[3]))
        return
result(N)