Skip to content

Commit

Permalink
Create bin2dec.py
Browse files Browse the repository at this point in the history
  • Loading branch information
pburkart committed Jun 5, 2019
1 parent 858e6f5 commit 20a84d1
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions Solutions/Bin2Dec/bin2dec.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@

import os
import platform

binary_values = [128, 64, 32, 16, 8, 4, 2, 1]

def clear():
if platform.system() == "Windows":
os.system('cls')
else:
os.system('clear')

def header():
clear()
print(" _ ___ _ ")
print(" \ ___ ` , __ / \ ___/ ___ ___ ")
print(" |/ \ | |' `. _-' / | .' ` .' `")
print(" | ` | | | / ,' | |----' | ")
print(" `___,' / / | /___, `___,' `.___, `._.'")
print(" ` ")
print(" A Simple Binary to Decimal Converter ")
print(" - Solution by Paul Burkart \n\n")

convert()

def isBinary(binary):
for i in str(binary):
if i not in '10':
return False
return True

def fillWithZeros(binary):
zeros = 8 - len(binary)
new_binary = zeros * "0" + binary
return new_binary

def convert():
binary_values = [128, 64, 32, 16, 8, 4, 2, 1]
decimal_value = 0
iterator = 0

binary = input("Please enter a binary value up to 8 digits long: ")

if isBinary(binary):
if len(binary) <= 8:
binary = fillWithZeros(binary)
for i in binary:
if i == "1":
decimal_value += binary_values[iterator]
iterator += 1
print(decimal_value)
else:
print("Error: Value is too big. Please enter an 8 digit binary value.\n")
convert()
else:
print("Error: Value isn't binary, please enter a binary value.\n")
convert()

if __name__ == "__main__":
header()

0 comments on commit 20a84d1

Please sign in to comment.