По аналогии с ответом Юсуфа Язычи
def intToBin(n):
if(n < 0):
print "Sorry, invalid input."
elif(n == 0):
print n
else:
result = ""
while(n != 0):
result += str(n%2)
n /= 2
print result[::-1]
Я настроил его так, чтобы единственная изменяемая переменная была результатом (и, конечно, n).
Если вам нужно использовать эту функцию где-то еще (т. Е. Использовать результат, использованный другим модулем), рассмотрите следующую настройку:
def intToBin(n):
if(n < 0):
return -1
elif(n == 0):
return str(n)
else:
result = ""
while(n != 0):
result += str(n%2)
n /= 2
return result[::-1]
Таким образом, -1 будет вашим дозорным значением , означающим, что преобразование не удалось. (Предполагается, что вы конвертируете ТОЛЬКО положительные числа, будь то целые или длинные числа).