-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconversora2ok.py
132 lines (119 loc) · 3.97 KB
/
conversora2ok.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
###CONVERSORA###
###Verifica y convierte a numero hexadecimal###
def verificar_hexa(cociente) :
salida = ""
if cociente < 10 :
salida = str(cociente)
elif str(cociente) == "10":
salida = "A"
elif str(cociente) == "11":
salida = "B"
elif str(cociente) == "12":
salida = "C"
elif str(cociente) == "13":
salida = "D"
elif str(cociente) == "14":
salida = "E"
elif str(cociente) == "15":
salida = "F"
return salida
###Funcion Verificacion Numeros Ingresados###
def verificar(valor):
#Funcion que Verifica que numeros ingresdos sean enteros, de no ser asi, avisa y lo pide nuevamente.
salida_verificar = True
try:
int(valor)
except ValueError:
print ("INCORRECTO > INGRESE UN NUMERO")
salida_verificar = False
return salida_verificar
def dec_hexa() :
#Funcion que realiza las operaciones de modulo y divicion para realizar la convercion, guardar e imprimir el resultado.
cociente = 0
resto = 0
resultado = ""
base = 16
salir = False
while salir == False :
cociente_ok = False
while cociente_ok == False :
cociente = input("Ingrese un numero entero: ")
cociente_ok = verificar(cociente)
cociente = int(cociente)
num = cociente
if cociente < base :
res = verificar_hexa(cociente)
print(f"{cociente} = {res}" )
cerrar = input("Si desea salir ingrese la letra s o presione enter para Continuar: ")
if cerrar == "s":
salir = True#revisar salida
while cociente >= base :
resto = cociente % 16
resultado = verificar_hexa(resto) + str(resultado)
cociente = cociente // 16
if cociente < 16 :
res_final = str(cociente) + str(resultado)
print(f"{num} = {res_final}")
resultado = ""
cerrar = input("Si desea salir ingrese la letra s o presione enter para Continuar: ")
if cerrar == "s":
#print("FIN")
salir = True
def dec_octal():
"""Recive un numero de base decimal por teclado y lo convierte a base octal"""
resultado = ""
cociente = int(input("ingrese un num entero: "))
while cociente >= 8:
resto = cociente % 8
resultado = str(resto) + resultado
cociente = cociente // 8
resultado = str(cociente) + str(resultado)
print(resultado)
return resultado
#print(dec_octal())
def dec_bin():
"""Recive un numero de base decimal por teclado y lo convierte a base binaria"""
resultado = ""
cociente = int(input("Ingrese un num entero: "))
while cociente >= 2 :
resto = cociente % 2
resultado = str(resto) + (resultado)
cociente = cociente // 2
resultado = str(cociente) + str(resultado)
#print(resultado)
return resultado
#print(dec_bin())
###MENU DE CALCULADORA###
def verificar_menu(opcion):
if opcion == "1":
salida_verificar = True
elif opcion == "2":
salida_verificar = True
elif opcion == "3":
salida_verificar = True
elif opcion == "4":
salida_verificar = True
else:
print("\n> MENU INCORRECTO")
salida_verificar = False
return salida_verificar
print("\n###BIENVENIDO A LA CONVERSORA###\n\n >")
salir = False
while salir == False :
opcion_ok = False
while opcion_ok == False:
opcion = input("\n1 > Conversora Decimal a Hexa\n2 > Conversora Decimal a Octal\n3 > Conversora Decimal a Binario\n4 > Salir (off)\n\n> Seleccione Opcion: ")
opcion_ok = verificar_menu (opcion)
opcion = opcion
if opcion == "1":
dec_hexa()
print(dec_hexa())
elif opcion == "2":
dec_octal()
print(dec_octal())
elif opcion == "3":
res = dec_bin()
print(f"\nResultado = {res}")
elif opcion == "4" :
salir = True
print("FIN")