Hola, estoy intentando hacer un script de conversión numérica entre sistemas...
Específicamente quiero convertir un numero decimal a binario.
A la hora de convertir un numero entero no hay problema pero no puedo convertir un número decimal... (12.004 -> binario)
Les agradecería una opinión sobre métodos más eficientes para hacer estos scripts...
Quiero tener un script que convierta base: 16, 10, 8 ,2 a otro sistema numérico.
Está bien usar (bin)? ¿Algún consejo sobre librería para esto?
Gracias por su tiempo. Dejo lo que tengo echo. Saludos!
def inicio():
print ("-- Menu --")
print("***********")
print ("1- Conversión decimal a binario")
print ("2- Conversión binario a decimal")
print ("3- Conversión binario a hexadecimal")
print ("4- Salir de la aplicación")
print("")
menu = input("ingrese una opción: ")
if menu == "1":
decimal = int(input("Ingrese número decimal: "))
decbin(decimal)
elif menu == "2":
binario = int(input("Ingrese número binario: "))
elif menu == "3":
binario = int(input("Ingrese número binario: "))
else:
print ("Ha ingresado una opción incorrecta.")
def decbin(decimal):
print("Conversión de Decimal (Base 10) a Binario (Base 2)")
binario = bin(decimal)
print ("Su número binario es: ", str(binario))
inicio()
Yo he probado con un decimal y me ha funcionado.
13.421 = 0b1101
Con el código que pase al poner un número real me tira de error:
ValueError: invalid literal for int() with base 10: '124.45'
y al poner decimal = float(input("Ingrese número decimal: ")) me da error:
TypeError: 'float' object cannot be interpreted as an integer
:/:/:/:/
Pa ti
# -*- coding: utf-8 -*-
def inicio():
print ("-- Menu --")
print("***********")
print ("1- Conversión decimal a binario")
print ("2- Conversión binario a decimal")
print ("3- Conversión binario a hexadecimal")
print ("4- Salir de la aplicación")
print("")
menu = raw_input("ingrese una opción: ")
if menu == "1":
decimal = raw_input("Ingrese número decimal: ")
decbin(decimal)
elif menu == "2":
binario = raw_input("Ingrese número binario: ")
elif menu == "3":
binario = raw_input("Ingrese número binario: ")
else:
print "Ha ingresado una opción incorrecta."
def decbin(decimal):
print("Conversión de Decimal (Base 10) a Binario (Base 2)")
binario = bin(int(round(float(decimal))))
print "Su número binario es: ", str(binario)
inicio()
No hace falta print("") solo con print "" funciona en versiones desde la 2.7 en adelante
Genial Sentex! me hacía falta usar el método "round", ahora si funciona.
Vale aclarar que en Python 3.x es necesario el uso de paréntesis en los print y ahora ya no se usa raw en los input... Solo input o el tipo de dato antes del input. Gracias ;)
Yo es que uso python 2.7 ya que es la version con mas cosicas y la que a mi gusto funciona mejor.