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()
def is_number_int(number):
 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

def number_conversion(number, base_system):
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

def converter():
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