Ones and Zeros


Description:

Given an array of ones and zeroes, convert the equivalent binary value to an integer.

Eg: [0, 0, 0, 1] is treated as 0001 which is the binary representation of 1.

Examples:

Testing: [0, 0, 0, 1] ==> 1
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 0, 1] ==> 5
Testing: [1, 0, 0, 1] ==> 9
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 1, 0] ==> 6
Testing: [1, 1, 1, 1] ==> 15
Testing: [1, 0, 1, 1] ==> 11

However, the arrays can have varying lengths, not just limited to 4.

PROGRAM

import random

n=random.randint(1,10)

st=[0,1]

a=[]

print(n)

for i in range(n):

 a.append(random.choice(st))

print(a)

digit=0

for i in range(n):

 digit+=a[i]*(2**i)

print(digit)

OUTPUT

8
[0, 1, 1, 0, 1, 1, 1, 1]
246