Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 17, 2014 20:18:24

xsay23
От: Казань
Зарегистрирован: 2014-09-04
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Варианты перевода 10-ричное в 16-ричную СС

Здравствуйте.
Я вот хочу узнать, есть ли еще варианты решения задачи
без загрузки hex()

i = int(input(': '))
h = ''
while i > 0:
    q = str(i % 16)
    
    if q == '10':
        h = h + 'A'
        
    elif q == '11':
        h = h + 'B'
        
    elif q == '12':
        h = h + 'C'
        
    elif q == '13':
        h = h + 'D'
        
    elif q == '14':
        h = h + 'E'
        
    elif q == '15':
        h = h + 'F'
        
    else:
        h = h + q
               
        
    i = int(i / 16)
    
print(h[::-1])



python3

Отредактировано xsay23 (Сен. 17, 2014 20:29:31)

Офлайн

#2 Сен. 17, 2014 21:57:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10012
Репутация: +  857  -
Профиль   Отправить e-mail  

Варианты перевода 10-ричное в 16-ричную СС

>>> def tohex(n):
...     alpha = '0123456789ABCDEF'
...     out = '' if n else '0'
...     while n > 0:
...         out = alpha[n % 16] + out
...         n >>= 4
...     return out
... 
>>> print(tohex(0))
0
>>> print(tohex(1))
1
>>> print(tohex(15))
F
>>> print(tohex(16))
10
>>> print(tohex(255))
FF
>>> print(tohex(256))
100
>>>



Офлайн

#3 Сен. 17, 2014 22:27:32

xsay23
От: Казань
Зарегистрирован: 2014-09-04
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Варианты перевода 10-ричное в 16-ричную СС

py.user.next
буду разбирать, спасибо



python3

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version