Skip to content

Commit

Permalink
Update Base Converter Number system.py
Browse files Browse the repository at this point in the history
  • Loading branch information
sayampradhan authored Oct 14, 2022
1 parent 5fdaba0 commit dd87eee
Showing 1 changed file with 20 additions and 10 deletions.
30 changes: 20 additions & 10 deletions Base Converter Number system.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
def base_check(xnumber, xbase):
for char in xnumber[len(xnumber ) -1]:
for char in xnumber[len(xnumber) - 1]:
if int(char) >= int(xbase):
return False
return True


def convert_from_10(xnumber, xbase, arr, ybase):
if int(xbase) == 2 or int(xbase) == 4 or int(xbase) == 6 or int(xbase) == 8:

Expand All @@ -22,15 +23,23 @@ def convert_from_10(xnumber, xbase, arr, ybase):
quotient = int(xnumber) // int(xbase)
remainder = int(xnumber) % int(xbase)
if remainder > 9:
if remainder == 10: remainder = 'A'
if remainder == 11: remainder = 'B'
if remainder == 12: remainder = 'C'
if remainder == 13: remainder = 'D'
if remainder == 14: remainder = 'E'
if remainder == 15: remainder = 'F'
if remainder == 10:
remainder = "A"
if remainder == 11:
remainder = "B"
if remainder == 12:
remainder = "C"
if remainder == 13:
remainder = "D"
if remainder == 14:
remainder = "E"
if remainder == 15:
remainder = "F"
arr.append(remainder)
dividend = quotient
convert_from_10(dividend, xbase, arr, ybase)


def convert_to_10(xnumber, xbase, arr, ybase):
if int(xbase) == 10:
for char in xnumber:
Expand All @@ -43,6 +52,8 @@ def convert_to_10(xnumber, xbase, arr, ybase):
ans = ans + (int(i) * (int(ybase) ** j))
j = j + 1
return ans


arrayfrom = []
arrayto = []
is_base_possible = False
Expand All @@ -61,7 +72,7 @@ def convert_to_10(xnumber, xbase, arr, ybase):
convert_from_10(number, dBase, arrayfrom, base)
answer = arrayfrom[::-1] # reverses the array
print(f"In base {dBase} this number is: ")
print(*answer, sep='')
print(*answer, sep="")
elif int(dBase) == 10:
answer = convert_to_10(number, dBase, arrayto, base)
print(f"In base {dBase} this number is: {answer} ")
Expand All @@ -70,5 +81,4 @@ def convert_to_10(xnumber, xbase, arr, ybase):
convert_from_10(number, dBase, arrayfrom, base)
answer = arrayfrom[::-1]
print(f"In base {dBase} this number is: ")
print(*answer, sep='')
© 2020 GitHub, Inc.
print(*answer, sep="")

0 comments on commit dd87eee

Please sign in to comment.