Resolução de problemas da faculdade (base hexadecimal e decimal)

29 views
Skip to first unread message

Pedro Andrade Lima

unread,
May 17, 2023, 8:24:15 AM5/17/23
to python...@googlegroups.com
Boa noite a todos.
Segue abaixo a descrição do problema.
Desde já agradeço qualquer apoio.
'''
Conversão de base simples...

Para o exercício devo ter uma entrada que pode
ser em hexadecimal ou decimal, e convertê la se decimal para hexadecimal e vice
e versa.

Depois de muito tentar cheguei nessa solução más, a condição "-1" não para o
programa.
Helpe me please!!!

condição 1: Digitando o "-1" para o programa sem computar o "-1".
condição 2: Para a entrada hexadecimal devo ter '0x' antes dos números (0x1234).
'''

hexa = False
deci = False

while True:
    try:
        for numero in range(0, 2**31):    
            if numero == "-1":
                break
            else:
                numero = input()
           
                if "x" in numero:
                    hexa = True
                    numero_decimal = eval(numero)  
                    print(numero_decimal)              
               
                elif "x" not in numero:
                    deci = True
                    numero_hexadecimal = hex(eval(numero))
                    print(numero_hexadecimal)
                else:
                    numero = input()
    except EOFError:
        break

Professor Paiva

unread,
May 17, 2023, 9:34:51 AM5/17/23
to python...@googlegroups.com
Bom dia. Dê uma olhada neste código: https://github.com/severopaiva/Curso-Python/blob/main/convbases.py

Paiva

--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/CAJ%3DRC8JK8XeOgy2u%2BpyORpjXeQXyaouYCF9WMttbNd9E_bPxLg%40mail.gmail.com.

Lucas Brahm

unread,
May 17, 2023, 10:09:52 PM5/17/23
to python...@googlegroups.com
De maneira simples, seria algo como isso. Obs: daria pra colocar try e except caso falhe na conversão.

while True:
numero = input("Digite um numero:")

if numero == "-1":
break
    if "x" in numero.lower():
print(f"o valor de {numero} em decimal é {int(numero, 16)}")
else:
print(f"o valor de {numero} em hexadecimal é {hex(int(numero))}")

Reply all
Reply to author
Forward
0 new messages