2016-05-01 67 views
-2

我正在寫一個十進制到二進制轉換器的幫助,是我當前的代碼:新秀需要用循環和範圍功能

所有這一切都按預期工作。當用戶輸入一個十進制數值(如10)時,它返回二進制數字1010.

我想要添加到這是一種方式,以便如果用戶輸入十進制值10,一個二進制數針對之前的所有號碼,並創造高達10

例子:

User inputs 10 
Decimal: 1 binary: 1 
Decimal: 2 binary: 10 
Decimal: 3 binary: 11 
Decimal: 4 binary: 100 
(so on, until) 
Decimal: 10 binary: 1010 

我已經實驗過for循環和範圍內的功能,但似乎無法得到它的工作。

+3

把你的代碼放在問題請 –

+1

請在這裏發佈你的代碼,並在[最小,完整和可驗證的例子](http://stackoverflow.com/help/mcve)中這樣做。 – schwobaseggl

+1

[Pyhon:不使用內置函數的二進制計數]的可能重複(http://stackoverflow.com/questions/36928212/pyhon-binary-counting-without-using-inbuilt-functions) – schwobaseggl

回答

1

做了下面的代碼片段幫助嗎? 不知道這是否真的是你的問題。

n = 10 
for i in range(n): 
    print bin(i) 

這樣就可以使你的二進制翻譯的功能,並調用它反覆

def my_bin(stuff_to_convert): 
    result = '?' # TODO: your conversion goes here 
    return result 

n = int(input("number please:")) 
for i in range(n + 1): 
    binary_number = my_bin(i) 
1

你可以讓你的十進制到二進制轉換器轉換成一個函數,把函數在一個循環中,然後調用用於循環的迭代器的函數。

像這樣的事情也許

def decimalToBinary(input): 
    #here you would put that main loop that you had in your code 
    pass 

decimal=inputNumber 
i=0 
while(i<=decimal) 
    decimalToBinary(i) 
    i += 1 

像這樣不僅使你的代碼更加實用,因爲你現在有轉換十進制到二進制,你可以在其他地方使用的功能,但它也使得它更清晰,更容易讀書。另外,請記住在您的代碼中添加註釋,以便我們更容易閱讀,並使用標籤直接將您的代碼放在您的問題中以便參考! :D

+0

Python代碼足夠冗長我不確定psudocode在這裏是否必要,'i + = 1'會很好。 –

+0

瞭解。當我到達桌面時我會進行編輯。 – Graf