1
Python / Re:Conversor de unidades de medida de almacenamiento en Python 3.X
« en: Julio 17, 2020, 03:45:06 am »
no es necesario disculparse, cada uno codifica como quiere, de todas formas para mi gusto escribís código de más, lo haría así :
dejo tu código y comentarios en su mayoría y saco lo repetitivo
Código: Python
- #-*- coding: utf -8 -*-
- from os import system, name
- def clear():
- # Acá no haría falta que cree una variable, solo llame a la función system y estaría.
- if name == 'nt':
- system('cls')
- else:
- system('clear')
- valores = {2:["kilobytes","bytes"],3:["megabytes","kilobytes"],4:["gigabytes","megabytes"],5:["terabytes","gigabytes"]}
- # Función para verificar si el dato ingresado es un entero
- def ingresar(text):
- # Mientras se ingrese erróneamente
- while True: # error==True:
- try:
- x = int(input(text))
- # Si el dato es correcto, sale del bucle
- break
- except ValueError:
- # Se manipula la salida del error en caso de que el dato no sea el correcto
- print("Error, se debe ingresar un número entero.\n")
- return x
- # Todo lo que tenga que ver con el menu, esta colocado en esta funcion.
- def main():
- menu = """
- [1] Convertir bits a bytes
- [2] Convertir kilobytes a bytes
- [3] Convertir megabytes a kilobytes
- [4] Convertir gigabytes a megabytes
- [5] Convertir terabytes a gigabytes
- [6] Salir
- """
- print(menu)
- # Entrada de usuario
- the = ingresar("Selecciona una opción: ")
- # Al presionar 6, el programa finaliza
- while the!=6:
- if the == 1:
- # Se le pide el ingreso de datos al usuario
- x = ingresar("Cuantos bits? ")
- print(f"{x//8} es la cantidad de bytes en {x} bits.")
- elif the in range(2,6):
- texto= valores.get(the)
- x = ingresar(f"Cuantos {texto[0]}? ")
- print(f"{x * 1024 } es la cantidad de {texto[1]} en {x} {texto[0]}")
- else:
- print("\nElije una opción valida. Intentelo nuevamente.")
- #clear()
- input("\nPresione una tecla para continuar...\n")
- clear()
- print(menu)
- the = ingresar("Selecciona una opción: ")
- # Al salir del bucle, le mostrará el mensaje
- print("\n\nHasta la próxima [url]https://underc0de.org/foro/Smileys/default/smiley.gif\n\n[/url]")
- if __name__ == '__main__':
- # Llamamos a la funcion menu
- main()
dejo tu código y comentarios en su mayoría y saco lo repetitivo