Hi, I am able to execute all the queries which are in test module in Jupyter notebook, however, when I copy pasted same code, I am getting few errors in Repl.it.
Please help me around.
Code below:
def arithmetic_arranger(data, condition = False):
def too_many(data):
global oper, sets, too_many_result
oper = list()
sets = list()
too_many_result = []
if len(data)>5:
print('Error: Too many problems')
too_many_result.append(False)
else:
too_many_result.append(True)
for sets_b in data:
sets_l = sets_b.split()
oper.append(sets_l[1])
sets.append(sets_l)
return(oper, sets, too_many_result)
def digit_len_checker(sets):
global digit_len_checker_result
digit_len_checker_result = []
dl_set = sets
digit = []
length = []
for dl in dl_set:
if dl[0].isdigit() == True and dl[-1].isdigit() == True:
digit.append(True)
else:
digit.append(False)
if len(dl[0]) < 5 and len(dl[-1]) < 5:
length.append(True)
else:
length.append(False)
if False in digit:
print("Error: Numbers must only contain digits.")
if False in length:
print("Error: Numbers cannot be more than four digits.")
if False in digit or False in length:
digit_len_checker_result.append(False)
else:
digit_len_checker_result.append(True)
return(digit_len_checker_result)
def operator_checker(oper):
oper_condition = []
for x in oper:
if x == '+' or x =='-':
oper_condition.append(True)
else:
oper_condition.append(False)
if False in oper_condition:
print("Error: Operator must be '+' or '-'.")
return(False)
else:
return(True)
def operation(x):
global result
result = []
if x == True:
for y in sets:
if y[1] == '+':
calc = int(y[0]) + int(y[2])
result.append(calc)
else:
calc = int(y[0]) - int(y[2])
result.append(calc)
return(result)
def printing(sets, result):
global fr, sr, op, ln, re
fr = []
sr = []
op = []
ln = []
re = result
for x in sets:
fr.append(x[0])
sr.append(x[2])
op.append(x[1])
if len(x[0])>len(x[2]):
ln.append(len(x[0]))
else:
ln.append(len(x[2]))
if condition == True:
if len(sets) == 4:
output = f"{fr[0]:>10}{fr[1]:>10}{fr[2]:>10}{fr[3]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}{op[1]:>{9-ln[1]}}{sr[1]:>{ln[1]+1}}{op[2]:>{9-ln[2]}}{sr[2]:>{ln[2]+1}}{op[3]:>{9-ln[3]}}{sr[3]:>{ln[3]+1}}\n{'-'*ln[0]:>10}{'-'*ln[1]:>10}{'-'*ln[2]:>10}{'-'*ln[3]:>10}\n{re[0]:>10}{re[1]:>10}{re[2]:>10}{re[3]:>10}"
elif len(sets) == 5:
output = f"{fr[0]:>10}{fr[1]:>10}{fr[2]:>10}{fr[3]:>10}{fr[4]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}{op[1]:>{9-ln[1]}}{sr[1]:>{ln[1]+1}}{op[2]:>{9-ln[2]}}{sr[2]:>{ln[2]+1}}{op[3]:>{9-ln[3]}}{sr[3]:>{ln[3]+1}}{op[4]:>{9-ln[4]}}{sr[4]:>{ln[4]+1}}\n{'-'*ln[0]:>10}{'-'*ln[1]:>10}{'-'*ln[2]:>10}{'-'*ln[3]:>10}{'-'*ln[4]:>10}\n{re[0]:>10}{re[1]:>10}{re[2]:>10}{re[3]:>10}{re[4]:>10}"
elif len(sets) == 3:
output = f"{fr[0]:>10}{fr[1]:>10}{fr[2]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}{op[1]:>{9-ln[1]}}{sr[1]:>{ln[1]+1}}{op[2]:>{9-ln[2]}}{sr[2]:>{ln[2]+1}}\n{'-'*ln[0]:>10}{'-'*ln[1]:>10}{'-'*ln[2]:>10}\n{re[0]:>10}{re[1]:>10}{re[2]:>10}"
elif len(sets) == 2:
output = f"{fr[0]:>10}{fr[1]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}{op[1]:>{9-ln[1]}}{sr[1]:>{ln[1]+1}}\n{'-'*ln[0]:>10}{'-'*ln[1]:>10}\n{re[0]:>10}{re[1]:>10}"
else:
output = f"{fr[0]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}\n{'-'*ln[0]:>10}\n{re[0]:>10}"
else:
if len(sets) == 4:
output = f"{fr[0]:>10}{fr[1]:>10}{fr[2]:>10}{fr[3]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}{op[1]:>{9-ln[1]}}{sr[1]:>{ln[1]+1}}{op[2]:>{9-ln[2]}}{sr[2]:>{ln[2]+1}}{op[3]:>{9-ln[3]}}{sr[3]:>{ln[3]+1}}\n{'-'*ln[0]:>10}{'-'*ln[1]:>10}{'-'*ln[2]:>10}{'-'*ln[3]:>10}"
elif len(sets) == 5:
output = f"{fr[0]:>10}{fr[1]:>10}{fr[2]:>10}{fr[3]:>10}{fr[4]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}{op[1]:>{9-ln[1]}}{sr[1]:>{ln[1]+1}}{op[2]:>{9-ln[2]}}{sr[2]:>{ln[2]+1}}{op[3]:>{9-ln[3]}}{sr[3]:>{ln[3]+1}}{op[4]:>{9-ln[4]}}{sr[4]:>{ln[4]+1}}\n{'-'*ln[0]:>10}{'-'*ln[1]:>10}{'-'*ln[2]:>10}{'-'*ln[3]:>10}{'-'*ln[4]:>10}"
elif len(sets) == 3:
output = f"{fr[0]:>10}{fr[1]:>10}{fr[2]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}{op[1]:>{9-ln[1]}}{sr[1]:>{ln[1]+1}}{op[2]:>{9-ln[2]}}{sr[2]:>{ln[2]+1}}\n{'-'*ln[0]:>10}{'-'*ln[1]:>10}{'-'*ln[2]:>10}"
elif len(sets) == 2:
output = f"{fr[0]:>10}{fr[1]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}{op[1]:>{9-ln[1]}}{sr[1]:>{ln[1]+1}}\n{'-'*ln[0]:>10}{'-'*ln[1]:>10}"
else:
output = f"{fr[0]:>10}\n{op[0]:>{9-ln[0]}}{sr[0]:>{ln[0]+1}}\n{'-'*ln[0]:>10}"
return(output)
# Function Calling
too_many(data)
if True in too_many_result:
digit_len_checker(sets)
if True in digit_len_checker_result:
run_status = operator_checker(oper)
if run_status == True:
operation(run_status)
arranged_problems = printing(sets, result)
return(arranged_problems)