def test_scadere(): numar1 = Operatii([3, 1, 4, 7], 8) numar2 = Operatii([2, 0, 2], 8) assert numar2.scadere(numar1) == [2, 7, 4, 5] numar1 = Operatii([1, 0, 2], 8) assert (numar1.scadere(numar2)) == [1, 0, 0] numar1 = Operatii([1, 0, 0, 1, 1, 0], 2) numar2 = Operatii([1, 0, 0, 1], 2) assert Operatii.scadere(numar2, numar1) == [1, 1, 1, 0, 1]
def scadere(): """ Scaderea a noua numere in baze identice sau diferite, si afisarea rezultatului intr-o a treia baza. Se face verificarea ca descazutul sa fie mai mare decat scazatorul, altfel utilizatorul este atentionat cu un mesaj. """ print("\nDescazutul: ".upper()) numar1 = Console.citesteInstanta() numar1 = Operatii(numar1[0], numar1[1]) while True: try: print("\nScazatorul: ".upper()) numar2 = Console.citesteInstanta() numar2 = Operatii(numar2[0], numar2[1]) print("\nBaza destinatie: ".upper()) baza = Console.citesteBaza( "Cisteste o baza in care vrei sa se afle rezultatul: ") nr1 = Console.fromList_toString(numar1.getNumar()) nr2 = Console.fromList_toString(numar2.getNumar()) baza1 = numar1.getBaza() baza2 = numar2.getBaza() numar1 = Console.converteste(numar1, baza) numar2 = Console.converteste(numar2, baza) Validator.compare(numar1.getNumar(), numar2.getNumar()) break except ValueError as msg: print(msg) #return "Rezultatul scaderii este: {}".format(Console.fromList_toString(Operatii.scadere(numar2, numar1))) return "\nREZULTAT: {}({}) - {}({}) = {}({})".format( nr1, baza1, nr2, baza2, Console.fromList_toString(Operatii.scadere(numar2, numar1)), baza)