Dec(10)->Oct(8). При этом вводимое число всегда >=0 и является целым. Для преобразования нельзя использовать встроенные функции форматирования вывода. Если кто знает как помочь- выкладывайте свои версии.
Last edited 2009-09-21 21:53:38
You are not logged in. Please login or register.
Last edited 2009-09-21 21:53:38
def int2oct(integer):
'''Функция получает целое число в десятичной форме в виде строки и возвращает соответствующее число в восьмеричной форме, принятой в Python, в виде строки.
Числа меньше 0 и невалидные значения игнорируются.'''
if integer.isdigit():integer = eval(integer)
else: return ''
flag, temp, result = 1, integer, []
while flag:
temp = divmod(temp, 8)
if temp[0] > 0:
result.insert(0, str(temp[1]))
temp = temp[0]
continue
else:
result.insert(0, str(temp[1]))
result.insert(0, '0')
flag = 0
return ''.join(result)
print int2oct(raw_input())
from math import log
nscale = lambda n,d: [n//pow(d, x)%d for x in range(0, float(log(n,d))+1)]
Powered by PyBB