hellou i stuck on one place and can help it to move it
#problems = ["32 + 698", "3801 - 2", "45 + 43", "123 + 49"]
from pyrsistent import v
def arithmetic_arranger(problems, koniec=False):
cisla = list()
vysledok = '' #sucet cislo [1] a [2] rozdiel to iste
prvy_riadok = ''
druhy_riadok = ''
ciarky_riadok = ''
konecny_vysledok = ''
priklad = ''
if len(problems) > 5 :
return 'Error: Too many problems.'
for problem in problems :
cisla.append(problem.split())
for cislo in cisla :
#print(cislo[1])
if len(cislo[0]) > 4 or len(cislo[2]) > 4 :
return 'Error: Numbers cannot be more than four digits.'
if cislo[1] != '+' and cislo[1] != '-' :
return "Error: Operator must be '+' or '-'."
if cislo[0].isnumeric()==False or cislo[2].isnumeric()==False :
return 'Error: Numbers must only contain digits.'
if cislo[1] == '-' :
vysledok = int(cislo[0]) - int(cislo[2])
elif cislo[1] == '+':
vysledok = int(cislo[0]) + int(cislo[2])
width = max(len(cislo[0]), len(cislo[2]))+ 2
#print(width,'---------')
prvy_riadok += cislo[0].rjust(width)+' '
druhy_riadok += cislo[1] + cislo[2].rjust(width-1)+' '
ciarky_riadok += ('-'*width)+' '
konecny_vysledok += str(vysledok).rjust(width)+' '
print(konecny_vysledok,'////////////////////')
=================================================================================== test session starts ====================================================================================
platform linux -- Python 3.8.10, pytest-4.6.9, py-1.8.1, pluggy-0.13.0
rootdir: /home/lukas/vscode freecode
collected 10 items
freecode arrithmetic/test_module.py FFFF...... [100%]
========================================================================================= FAILURES =========================================================================================
______________________________________________________________________ test_template[test_two_problems_arrangement1] _______________________________________________________________________
arguments = [['3801 - 2', '123 + 49']], expected_output = ' 3801 123\n- 2 + 49\n------ -----'
fail_message = 'Expected different output when calling "arithmetic_arranger()" with ["3801 - 2", "123 + 49"]'
@pytest.mark.parametrize('arguments,expected_output,fail_message', test_cases)
def test_template(arguments, expected_output, fail_message):
actual = arithmetic_arranger(*arguments)
> assert actual == expected_output, fail_message
E AssertionError: Expected different output when calling "arithmetic_arranger()" with ["3801 - 2", "123 + 49"]
E assert ' 3801 ...-- -----\n' == ' 3801 1...---- -----'
E Skipping 36 identical leading characters in diff, use -v to show
E - -- -----
E ? -
E + -- -----
freecode arrithmetic/test_module.py:77: AssertionError
----------------------------------------------------------------------------------- Captured stdout call -----------------------------------------------------------------------------------
3799 ////////////////////
3799 172 ////////////////////
______________________________________________________________________ test_template[test_two_problems_arrangement2] _______________________________________________________________________
arguments = [['1 + 2', '1 - 9380']], expected_output = ' 1 1\n+ 2 - 9380\n--- ------'
fail_message = 'Expected different output when calling "arithmetic_arranger()" with ["1 + 2", "1 - 9380"]'
@pytest.mark.parametrize('arguments,expected_output,fail_message', test_cases)
def test_template(arguments, expected_output, fail_message):
actual = arithmetic_arranger(*arguments)
> assert actual == expected_output, fail_message
E AssertionError: Expected different output when calling "arithmetic_arranger()" with ["1 + 2", "1 - 9380"]
E assert ' 1 ...- ------\n' == ' 1 1...--- ------'
E 1 1
E + 2 - 9380
E - --- ------
E ? -
E + --- ------
freecode arrithmetic/test_module.py:77: AssertionError
----------------------------------------------------------------------------------- Captured stdout call -----------------------------------------------------------------------------------
3 ////////////////////
3 -9379 ////////////////////
______________________________________________________________________ test_template[test_four_problems_arrangement] _______________________________________________________________________
arguments = [['3 + 855', '3801 - 2', '45 + 43', '123 + 49']], expected_output = ' 3 3801 45 123\n+ 855 - 2 + 43 + 49\n----- ------ ---- -----'
fail_message = 'Expected different output when calling "arithmetic_arranger()" with ["3 + 855", "3801 - 2", "45 + 43", "123 + 49"]'
@pytest.mark.parametrize('arguments,expected_output,fail_message', test_cases)
def test_template(arguments, expected_output, fail_message):
actual = arithmetic_arranger(*arguments)
> assert actual == expected_output, fail_message
E AssertionError: Expected different output when calling "arithmetic_arranger()" with ["3 + 855", "3801 - 2", "45 + 43", "123 + 49"]
E assert ' 3 3...-- -----\n' == ' 3 38...---- -----'
E Skipping 87 identical leading characters in diff, use -v to show
E - -- -----
E ? -
E + -- -----
freecode arrithmetic/test_module.py:77: AssertionError
----------------------------------------------------------------------------------- Captured stdout call -----------------------------------------------------------------------------------
858 ////////////////////
858 3799 ////////////////////
858 3799 88 ////////////////////
858 3799 88 172 ////////////////////
______________________________________________________________________ test_template[test_five_problems_arrangement] _______________________________________________________________________
arguments = [['11 + 4', '3801 - 2999', '1 + 2', '123 + 49', '1 - 9380']]
expected_output = ' 11 3801 1 123 1\n+ 4 - 2999 + 2 + 49 - 9380\n---- ------ --- ----- ------'
fail_message = 'Expected different output when calling "arithmetic_arranger()" with ["11 + 4", "3801 - 2999", "1 + 2", "123 + 49", "1 - 9380"]'
@pytest.mark.parametrize('arguments,expected_output,fail_message', test_cases)
def test_template(arguments, expected_output, fail_message):
actual = arithmetic_arranger(*arguments)
> assert actual == expected_output, fail_message
E AssertionError: Expected different output when calling "arithmetic_arranger()" with ["11 + 4", "3801 - 2999", "1 + 2", "123 + 49", "1 - 9380"]
E assert ' 11 38...- ------\n' == ' 11 380...--- ------'
E Skipping 111 identical leading characters in diff, use -v to show
E - - ------
E ? -
E + - ------
freecode arrithmetic/test_module.py:77: AssertionError
----------------------------------------------------------------------------------- Captured stdout call -----------------------------------------------------------------------------------
15 ////////////////////
15 802 ////////////////////
15 802 3 ////////////////////
15 802 3 172 ////////////////////
15 802 3 172 -9379 ////////////////////
============================================================================ 4 failed, 6 passed in 0.06 seconds ============================================================================