Removing prints from functions

This commit is contained in:
chabisik 2022-03-26 12:47:46 +01:00
parent 130525117f
commit afcb66f6bd

View file

@ -4,7 +4,7 @@ import sys
import numpy import numpy
import time import time
def sb_addition(arg1: str, arg2: str) -> str: #will do both addition and substraction def sb_addition(arg1: str, arg2: str) -> str:
result = '' result = ''
# the addition will be a substraction if (arg1 is negative and arg2 is positive) or (arg1 is positive and arg2 is negative) # the addition will be a substraction if (arg1 is negative and arg2 is positive) or (arg1 is positive and arg2 is negative)
if str(arg1).startswith('-') and not(str(arg2).startswith('-')): # arg1 is negative and arg2 is positive if str(arg1).startswith('-') and not(str(arg2).startswith('-')): # arg1 is negative and arg2 is positive
@ -48,19 +48,16 @@ def sb_addition(arg1: str, arg2: str) -> str: #will do both addition and substra
# making real addition operation # making real addition operation
# when here, it means both numbers are positives OR both numbers are negatives # when here, it means both numbers are positives OR both numbers are negatives
rem = '0' rem = '0'
print("ADDITION") #DELETE
if not(arg1_is_full_integer) or not(arg2_is_full_integer): if not(arg1_is_full_integer) or not(arg2_is_full_integer):
for i in range(max_decimal_part_size-1, -1, -1): for i in range(max_decimal_part_size-1, -1, -1):
res = int( eval('(' + arg1_decimal_part[i] + '+' + arg2_decimal_part[i] + '+' + str(rem) + ')%10') ) res = int( eval('(' + arg1_decimal_part[i] + '+' + arg2_decimal_part[i] + '+' + str(rem) + ')%10') )
result = str(res) + result result = str(res) + result
rem = int( eval('((' + arg1_decimal_part[i] + '+' + arg2_decimal_part[i] + '+' + str(rem) + ') - ' + str(res) + ')/10') ) rem = int( eval('((' + arg1_decimal_part[i] + '+' + arg2_decimal_part[i] + '+' + str(rem) + ') - ' + str(res) + ')/10') )
print("rem", rem)
result = '.' + result result = '.' + result
for i in range(max_integer_part_size-1, -1, -1): for i in range(max_integer_part_size-1, -1, -1):
res = int( eval('(' + arg1_integer_part[i] + '+' + arg2_integer_part[i] + '+' + str(rem) + ')%10') ) res = int( eval('(' + arg1_integer_part[i] + '+' + arg2_integer_part[i] + '+' + str(rem) + ')%10') )
result = str(res) + result result = str(res) + result
rem = int( eval('((' + arg1_integer_part[i] + '+' + arg2_integer_part[i] + '+' + str(rem) + ') - ' + str(res) + ')/10') ) rem = int( eval('((' + arg1_integer_part[i] + '+' + arg2_integer_part[i] + '+' + str(rem) + ') - ' + str(res) + ')/10') )
print("rem", rem)
if str(rem) != '0': result = str(rem) + result if str(rem) != '0': result = str(rem) + result
if arg1_is_negative and arg2_is_negative: result = '-' + result # treat the case both numbers are negative if arg1_is_negative and arg2_is_negative: result = '-' + result # treat the case both numbers are negative
while result.startswith('-0'): result = result.replace('-0','-') while result.startswith('-0'): result = result.replace('-0','-')
@ -111,11 +108,7 @@ def sb_substract(arg1: str, arg2: str) -> str:
arg2_decimal_part = arg2_decimal_part + '0'*(max_decimal_part_size-len(arg2_decimal_part)) arg2_decimal_part = arg2_decimal_part + '0'*(max_decimal_part_size-len(arg2_decimal_part))
# making real substraction operation # making real substraction operation
# when here, it means both numbers are positives OR both numbers are negatives # when here, it means both numbers are positives OR both numbers are negatives
print("SUBSTRACT") #DELETE
result_needs_negative_sign_in_font = False result_needs_negative_sign_in_font = False
print("arg1_integer_part", arg1_integer_part, "arg1_decimal_part", arg1_decimal_part)
print("arg2_integer_part", arg2_integer_part, "arg2_decimal_part", arg2_decimal_part)
print("arg1_is_negative", arg1_is_negative, "arg2_is_negative", arg2_is_negative)
if arg1_is_negative and arg2_is_negative: if arg1_is_negative and arg2_is_negative:
if greater_than(arg2_integer_part, arg1_integer_part, arg2_decimal_part, arg1_decimal_part): if greater_than(arg2_integer_part, arg1_integer_part, arg2_decimal_part, arg1_decimal_part):
temp = arg1_integer_part temp = arg1_integer_part
@ -144,7 +137,6 @@ def sb_substract(arg1: str, arg2: str) -> str:
for i in range(max_decimal_part_size-1, -1, -1): for i in range(max_decimal_part_size-1, -1, -1):
upper_digit_to_consider = int( eval( arg1_decimal_part[i] + '+' + '10 if ' + arg1_decimal_part[i] + '<(' + arg2_decimal_part[i] + '+' + str(rem) + ') else ' + arg1_decimal_part[i] ) ) upper_digit_to_consider = int( eval( arg1_decimal_part[i] + '+' + '10 if ' + arg1_decimal_part[i] + '<(' + arg2_decimal_part[i] + '+' + str(rem) + ') else ' + arg1_decimal_part[i] ) )
res = int( eval( str(upper_digit_to_consider) + '-(' + arg2_decimal_part[i] + '+' + str(rem) + ')' ) ) res = int( eval( str(upper_digit_to_consider) + '-(' + arg2_decimal_part[i] + '+' + str(rem) + ')' ) )
print("res", str(res))
result = str(res) + result result = str(res) + result
rem = int( eval( '1 if ' + arg1_decimal_part[i] + '<(' + arg2_decimal_part[i] + '+' + str(rem) + ') else 0' ) ) rem = int( eval( '1 if ' + arg1_decimal_part[i] + '<(' + arg2_decimal_part[i] + '+' + str(rem) + ') else 0' ) )
result = '.' + result result = '.' + result
@ -153,13 +145,13 @@ def sb_substract(arg1: str, arg2: str) -> str:
res = int( eval( str(upper_digit_to_consider) + '-(' + arg2_integer_part[i] + '+' + str(rem) + ')' ) ) res = int( eval( str(upper_digit_to_consider) + '-(' + arg2_integer_part[i] + '+' + str(rem) + ')' ) )
result = str(res) + result result = str(res) + result
rem = int( eval( '1 if ' + arg1_integer_part[i] + '<(' + arg2_integer_part[i] + '+' + str(rem) + ') else 0' ) ) rem = int( eval( '1 if ' + arg1_integer_part[i] + '<(' + arg2_integer_part[i] + '+' + str(rem) + ') else 0' ) )
print("rem", rem)
if str(rem) != '0': result = str(rem) + result if str(rem) != '0': result = str(rem) + result
if result_needs_negative_sign_in_font: result = '-' + result if result_needs_negative_sign_in_font: result = '-' + result
while result.startswith('-0'): result = result.replace('-0','-') while result.startswith('-0'): result = result.replace('-0','-')
if '.' in result and result.split('.')[1]==len(result.split('.')[1])*'0': return result.split('.')[0] # no need to return the result decimal part if it's equal to zero if '.' in result and result.split('.')[1]==len(result.split('.')[1])*'0': return result.split('.')[0] # no need to return the result decimal part if it's equal to zero
return result return result
def greater_than(arg1_integer_part: str, arg2_integer_part: str, arg1_decimal_part: str='', arg2_decimal_part: str='') -> bool: # verify if arg1 >= arg2 def greater_than(arg1_integer_part: str, arg2_integer_part: str, arg1_decimal_part: str='', arg2_decimal_part: str='') -> bool: # verify if arg1 >= arg2
# we assume integer parts are same size and decimal parts are also same size # we assume integer parts are same size and decimal parts are also same size
assert len(arg1_integer_part)==len(arg2_integer_part) and len(arg1_decimal_part)==len(arg2_decimal_part) assert len(arg1_integer_part)==len(arg2_integer_part) and len(arg1_decimal_part)==len(arg2_decimal_part)
@ -169,10 +161,14 @@ def greater_than(arg1_integer_part: str, arg2_integer_part: str, arg1_decimal_pa
if eval( arg1_decimal_part[i] + '<' + arg2_decimal_part[i] ): return False if eval( arg1_decimal_part[i] + '<' + arg2_decimal_part[i] ): return False
return True return True
def sb_multiply(arg1: str, arg2: str) -> bool:
pass
if __name__=='__main__': if __name__=='__main__':
#print("add", sb_addition("-10", "-1.99999993") ) print("add", sb_addition("-10", "-1.99999993") )
#print( type(sb_substract("9999999.019999", "99999.99999993")) ) #print( type(sb_substract("9999999.019999", "99999.99999993")) )
print("sub", sb_substract("12", "78") ) print("sub", sb_substract("12", "78.9999") )
#print(greater_than("0","1110", "0","1112", True, True)) #print(greater_than("0","1110", "0","1112", True, True))
#print(greater_than("0","0", "1110","1112")) #print(greater_than("0","0", "1110","1112"))
#print(greater_than('9001','9003')) #print(greater_than('9001','9003'))