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循环,直到所有数字都被转换为止。此外,如何打印出所有计算的添加。
答案 0 :(得分:0)
我将通过一种简单的方式来完成这项工作:
s = '101101101'
反转字符串,所以我们可以从右到左操作。这可以通过切片s[::-1]
来完成。然后我们可以使用enumerate
根据索引有效地获取权力。
total = 0
for index, value in enumerate(s[::-1]):
total += int(value) * 2**index
>>> total
365
完成for循环的前几次迭代
total += 1 * 2**0
total += 0 * 2**1
total += 1 * 2**2
total += 1 * 2**3
... etc