2014-10-07 93 views
-2
userinput=(input ("Please Enter Your Binary Number")) 


lengh=len (userinput) 

x=lengh-1 
num=(2**x) 


char2=-lengh 

for i in range(lengh) 

int(userinput[char2])*num 

x=x-1 
char2=char2+1 

基本上,我正在嘗試使用簡單的命令爲我的GCSE製作一個二進制到十進制轉換器。我應該如何安排for循環,直到所有數字都被轉換爲止。此外,如何打印出所有計算的附加信息。Python二進制數到十進制簡單轉換器

回答

0

我會通過一個簡單的走路方式做到這一點:

s = '101101101' 

反轉字符串,所以我們可以操作從右到左。這可以通過切片s[::-1]完成。然後我們可以使用enumerate有效獲得基於索引的權力。

total = 0 
for index, value in enumerate(s[::-1]): 
    total += int(value) * 2**index 

>>> total 
365 

所以通過對前幾個迭代走了循環

total += 1 * 2**0 
total += 0 * 2**1 
total += 1 * 2**2 
total += 1 * 2**3 
... etc