Форум сайта python.su
0
Здравствуйте.
Я вот хочу узнать, есть ли еще варианты решения задачи
без загрузки 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])
Отредактировано xsay23 (Сен. 17, 2014 20:29:31)
Офлайн
857
>>> 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 >>>
Офлайн
0
py.user.nextбуду разбирать, спасибо
Офлайн