sábado, 25 de julio de 2026

Calcular el valor decimal de cada una de las filas de una matriz, ingresando solo cero y uno en Python

Código del ejercicio:

n = int(input("Ingresar N: "))
m = int(input("Ingresar M: "))
matriz = []
for fila in range(n):
  matriz.append([])
  for columna in range(m):
    numero = int(input("Ingresar número: "))
    matriz[fila].append(numero)
c = 1
for fila in matriz:
  concatenacion = ""
  for columna in fila:
    concatenacion += str(columna)
  binario_a_decimal = int(concatenacion, 2)
  print(f"Fila {c}:| {concatenacion} = {binario_a_decimal}")
  c += 1
for i in matriz:
  print(*i)

Definición de los códigos del ejercicio:

lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
append() --> agrega un elemento al final de la lista.
str() --> convierte el valor especificado en una cadena.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
print() --> imprime un mensaje en la pantalla.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu código, todos los nombres de las variables serán remplazados con sus respectivos valores.

Explicación del Código:

Objetivo del ejercicio

El programa solicita una matriz formada únicamente por números 0 y 1. Cada fila se interpreta como un número binario y luego se convierte a su equivalente en decimal.

Ejemplo:

1 0 1
1 1 0

La primera fila forma el binario 101, que en decimal es 5.
La segunda fila forma el binario 110, que en decimal es 6.

1. Ingreso del tamaño de la matriz

n = int(input("Ingresar N: "))
m = int(input("Ingresar M: "))
  • n: cantidad de filas.
  • m: cantidad de columnas.
  • int(): convierte el dato ingresado a número entero.

2. Creación de la matriz

matriz = []

Se crea una lista vacía donde se almacenarán todas las filas de la matriz.

3. Llenado de la matriz

for fila in range(n):
    matriz.append([])
    for columna in range(m):
        numero = int(input("Ingresar número: "))
        matriz[fila].append(numero)
  • El ciclo externo recorre las filas.
  • matriz.append([]) crea una nueva fila vacía.
  • El ciclo interno recorre las columnas.
  • Se solicita un número (0 o 1).
  • append(numero) agrega el número a la fila actual.

Ejemplo:

[
 [1,0,1],
 [1,1,0]
]

4. Variable contador de filas

c = 1

Se utiliza para numerar las filas al momento de mostrar los resultados.

5. Recorrer cada fila de la matriz

for fila in matriz:

Recorre una fila completa de la matriz en cada repetición.

6. Formar el número binario

concatenacion = ""

for columna in fila:
    concatenacion += str(columna)
  • Se crea una cadena vacía.
  • Se recorren los elementos de la fila.
  • str() convierte cada número a texto.
  • Los valores se unen formando un número binario.

Ejemplo:

Fila: [1,0,1,1]

Resultado:
"1011"

7. Convertir binario a decimal

binario_a_decimal = int(concatenacion, 2)

La función int(valor, base) convierte un número de una base determinada a decimal.

  • concatenacion contiene el binario.
  • 2 indica que el número está en base 2.

Ejemplo:

int("1011", 2)

Resultado:
11

8. Mostrar el resultado

print(f"Fila {c}:| {concatenacion} = {binario_a_decimal}")
c += 1
  • Muestra el número de fila.
  • Muestra el binario formado.
  • Muestra su equivalente decimal.
  • Incrementa el contador para la siguiente fila.

Ejemplo de salida:

Fila 1:| 101 = 5
Fila 2:| 110 = 6

9. Mostrar la matriz completa

for i in matriz:
    print(*i)
  • Recorre cada fila de la matriz.
  • *i muestra los elementos separados por espacios.

Salida:

1 0 1
1 1 0

Resumen

  1. Se ingresan filas y columnas.
  2. Se llena una matriz con 0 y 1.
  3. Cada fila se convierte en una cadena binaria.
  4. El binario se transforma a decimal usando int(..., 2).
  5. Se muestra el resultado de cada fila.
  6. Finalmente se imprime toda la matriz.

En pocas palabras: el programa toma cada fila de la matriz como un número binario y calcula automáticamente su valor decimal equivalente.

No hay comentarios.:

Publicar un comentario

Crear una calculadora para calcular el factorial de un número, invertir número, ordenar lista en forma ascendente en Python

Código del ejercicio: while True :     print ( f "Elige una opción a realizar con estos números: \n \     Presiona 1 para ...

Copyright © Ejercicios de programación. Todos los derechos reservados. ❤️