我在寫一個將十進制數轉換爲二進制數的程序。我做到了這一點,我堅持一個問題。在代碼print(aa)
。在Python中將十進制數轉換爲二進制
我試圖得到一個給定數字的二進制形式,但它打印1.我認爲我有「返回」功能的問題在這裏,我該如何解決它。此外,當我打印binaryform
它打印如下方式。它不應該反向打印,我的意思是第一個,然後是11,然後是111 ....... 10111。
# Python program to convert decimal number into binary number using recursive function
def binary(n, binaryform,i):
if n >= 1:
digit= n % 2
binaryform += digit*i
#print(binaryform)
i*=10
binary(n/2, binaryform, i)
print("xxx", binaryform)
return binaryform
dec = int(input("Enter an integer: "))# Take decimal number from user
aa = binary(dec, 0, 1)
print(aa)
OUTPUT:
Enter an integer: 23
('xxx', 10111)
('xxx', 111)
('xxx', 111)
('xxx', 11)
('xxx', 1)
1
https://docs.python.org/2/library/functions.html#bin –