Lenguaje: Python
Categoría: POC
Cubre: Condicionales, If, división, entera, modulo, división entera, módulo
Nombre: calcula_almacenamiento.py
Repositorio: https://github.com/carlosgbr/PythonBasico/blob/main/calcula_almacenamiento.py
Compilado en: OnlineGdb
Enunciado
Si un sistema de archivos tiene un tamaño de bloque de 4096 bytes, esto significa que un archivo compuesto por un solo byte seguirá usando 4096 bytes de almacenamiento. Un archivo compuesto por 4097 bytes usará 4096 * 2 = 8192 bytes de almacenamiento. Sabiendo esto, ¿Puede completar los espacios en la función calcula_almacenamiento a continuación, que calcula el tamaño de almacenamiento necesario para un tamaño de archivo determinado?
Código fuente
""" Funciones y condicionales: calcula_almacenamiento.py
Se ilustra el uso de funciones y la estructura if en Python
Por https://about.me/carlosgbr
Fecha: 02/01/2025
Versión 1
Actualizado: 02/01/2025
Para Python 3.11 y superior
"""
def calcula_almacenamiento(tamanoarchivo):
tamano_bloque = 4096
# Use la división de piso para calcular cuántos bloques están completamente ocupados
bloques_completos = tamanoarchivo // tamano_bloque
# Use el operador de módulo para verificar si hay algún resto
residuo_parcial_bloque = tamanoarchivo % tamano_bloque
# Dependiendo de si hay un resto o no, devuelva el número correcto.
if residuo_parcial_bloque > 0:
return bloques_completos * tamano_bloque + tamano_bloque
return bloques_completos * tamano_bloque
print(calcula_almacenamiento(1)) # Debiera ser 4096
print(calcula_almacenamiento(4096)) # Debiera ser 4096
print(calcula_almacenamiento(4097)) # Debiera ser 8192
print(calcula_almacenamiento(6000)) # Debiera ser 8192
Salida del programa

Ejecuta el programa
Pulsa el botón Exec para ejecutar el programa, ¡también puedes modificar el código y comprobar la salida!
Notas
Ninguna.
Informar de errores
Si encuentras algún error o aporte a la información proporcionada por favor dirígela a soporte@ehack.mx
Otras consideraciones
Si deseas que desarrollemos un ejemplo en particular, escríbelo en los comentarios.
Si tienes alguna duda que no se responde en este documento, por favor plantea tu pregunta para poder responderte. O escribe directamente a soporte@ehack.mx
Referencias
- Por Roberto C. González para Ethical Hack
- Coursera
Fuente Imágenes
- Todas las imágenes de esta sección cortesía by Nala Systems
Pruebas de concepto (PoC) en Python
- Volver al índice de temas PoC en Python
- El código fuente de toda la serie lo puedes descargar de nuestro repositorio en github busca los programas con el nombre del encabezado de cada programa.
POC - Python para Ethical Hack, por Roberto C. González. Se distribuye bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.
Ⓟ 2025, Ethical Hack, Todos los derechos reservados sobre el contenido propio.