CLI-Number-Converter/numberConverter.py

79 lines
1.9 KiB
Python

# convert numbers into different number systems
# iterative version
import sys
def user_input():
number = int(input('decimal number to convert: '))
return number
def decimal_to_binary(number):
# decimal to binary
decimal_number = ''
# set div to a number to make the while loop work
div = 1
while (div != 0):
div = number // 2
reminder = number % 2
number = div
#print(reminder)
decimal_number += str(reminder)
return print('binary: ', decimal_number[::-1])
def decimal_to_octal(number):
octal_number = ''
div = 1
while (div != 0):
div = number // 8
reminder = number % 8
number = div
octal_number += str(reminder)
return print('octal: ', octal_number[::-1])
def decimal_to_duodecimal(number):
duodecimal_number = ''
div = 1
while (div != 0):
div = number // 12
reminder = number % 12
if (reminder > 9):
reminder = switcher(reminder)
number = div
duodecimal_number += str(reminder)
return print('duodecimal: ', duodecimal_number[::-1])
def decimal_to_hex(number):
hex_number = ''
div = 1
while (div != 0):
div = number // 16
reminder = number % 16
if (reminder > 9):
reminder = switcher(reminder)
number = div
hex_number += str(reminder)
return print('hexadezimal: ', hex_number[::-1])
# switcher to select the correct char for hex number lager then 9
def switcher(n):
switcher = {
10: 'A',
11: 'B',
12: 'C',
13: 'D',
14: 'E',
15: 'F'
}
return switcher.get(n)
def main():
number = user_input()
decimal_to_binary(number)
decimal_to_octal(number)
decimal_to_duodecimal(number)
decimal_to_hex(number)
if __name__ == "__main__":
main()