project.ciselne_soustavy
Functions for converting values.
1"""Functions for converting values.""" 2import re 3 4 5def is_number_int(number): # checks if the number value is an integer 6 """Validate the value. 7 8 Checks if the specified string contains values representing integers. 9 Both integers and integers written in float form are recognized. 10 :param number: String 11 :return: Bool 12 """ 13 return re.match(r"[-+]?\d+(\.0*)?$", number) is not None 14 15 16def number_conversion(number, base_system): # max base value = 36 17 """Convert the selected number to the selected number system. 18 19 This function uses conditional statements to convert a number 20 to the selected number system. 21 If the specified number is equal to 0, zero is automatically returned. 22 If the number is other than zero, the result is calculated 23 by successive division. 24 :param number: String 25 :param base_system: String 26 :return: String 27 """ 28 result = "" 29 number = int(number) 30 base_system = int(base_system) 31 if number == 0: # 0 is 0 in every base 32 result += str(number) 33 else: 34 while number > 0: 35 inter = number % base_system 36 if inter <= 9: 37 result += str(inter) 38 else: # converting numbers > 10 into characters 39 result += chr(ord("A") + inter - 10) 40 number //= base_system 41 42 result = result[::-1] 43 return result 44 45 46def converter(): # asking for values 47 """Input values. 48 49 The function requires two input values - a number and a number system. 50 It checks if the values are entered correctly 51 (correct number of inputs and the "number" value is an integer). 52 If incorrect values are entered, the function asks for new values. 53 54 :return: None 55 """ 56 number = input("Enter number in decimal base: ") 57 base_system = input("Enter required base system: ") 58 if is_number_int(number) is True: 59 # the number must be integer 60 print("Result number is: ", number_conversion(number, base_system)) 61 else: 62 print("You did not write right number. Try it again, dummy.") 63 converter()
6def is_number_int(number): # checks if the number value is an integer 7 """Validate the value. 8 9 Checks if the specified string contains values representing integers. 10 Both integers and integers written in float form are recognized. 11 :param number: String 12 :return: Bool 13 """ 14 return re.match(r"[-+]?\d+(\.0*)?$", number) is not None
Validate the value.
Checks if the specified string contains values representing integers. Both integers and integers written in float form are recognized.
Parameters
- number: String
Returns
Bool
17def number_conversion(number, base_system): # max base value = 36 18 """Convert the selected number to the selected number system. 19 20 This function uses conditional statements to convert a number 21 to the selected number system. 22 If the specified number is equal to 0, zero is automatically returned. 23 If the number is other than zero, the result is calculated 24 by successive division. 25 :param number: String 26 :param base_system: String 27 :return: String 28 """ 29 result = "" 30 number = int(number) 31 base_system = int(base_system) 32 if number == 0: # 0 is 0 in every base 33 result += str(number) 34 else: 35 while number > 0: 36 inter = number % base_system 37 if inter <= 9: 38 result += str(inter) 39 else: # converting numbers > 10 into characters 40 result += chr(ord("A") + inter - 10) 41 number //= base_system 42 43 result = result[::-1] 44 return result
Convert the selected number to the selected number system.
This function uses conditional statements to convert a number to the selected number system. If the specified number is equal to 0, zero is automatically returned. If the number is other than zero, the result is calculated by successive division.
Parameters
- number: String
- base_system: String
Returns
String
47def converter(): # asking for values 48 """Input values. 49 50 The function requires two input values - a number and a number system. 51 It checks if the values are entered correctly 52 (correct number of inputs and the "number" value is an integer). 53 If incorrect values are entered, the function asks for new values. 54 55 :return: None 56 """ 57 number = input("Enter number in decimal base: ") 58 base_system = input("Enter required base system: ") 59 if is_number_int(number) is True: 60 # the number must be integer 61 print("Result number is: ", number_conversion(number, base_system)) 62 else: 63 print("You did not write right number. Try it again, dummy.") 64 converter()
Input values.
The function requires two input values - a number and a number system. It checks if the values are entered correctly (correct number of inputs and the "number" value is an integer). If incorrect values are entered, the function asks for new values.
Returns
None