Ejercicio: 1Eva2005TI_T3 Arreglo aleatorio binario a decimal

Propuesta de solución en Python
Use un vector de n casillas,
Las casillas pueden iniciar en cero,para luego llenarlas de números aleatorios una por una,
B = np.zeros(n,dtype=int)
Junto a la operación anterior, podría realizar las operaciones requeridas en el enunciado.
B[i] = int(rnd.random()*2)+0
De ser necesario repasar: Binario y Decimal – Algoritmo
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IT2005_T3 Arreglo aleatorio binario a decimal
# Tarea: contar los 1's, literal a)
import numpy as np
import random as rnd
# INGRESO
n = int(input('cuantos componentes n: '))
# PROCEDIMIENTO
B = np.zeros(n,dtype=int)
decimal = 0
i = 0
while (i<n):
B[i] = int(rnd.random()*2)+0
# orden de binarios es izquierda a derecha
posicion = n-1-i
decimal = decimal+B[i]*(2**posicion)
i = i+1
# SALIDA
print('Arreglo de binarios B[i]:')
print(B)
print('equivale en decimal:',decimal)
Resultados de algoritmo realizados para un byte (8 bits):
cuantos componentes n: 8
Arreglo de binarios B[i]:
[0 0 1 0 1 0 1 0]
equivale en decimal: 42
>>>
cuantos componentes n: 8
Arreglo de binarios B[i]:
[1 1 1 1 1 1 1 1]
equivale en decimal: 255
>>>
cuantos componentes n: 8
Arreglo de binarios B[i]:
[0 0 1 1 1 1 1 0]
equivale en decimal: 62
>>>