1068: 二进制数-python

题目描述:

将一个二进制数,转换为对应的十进制数。
输入
输入一个二进制数,以回车结束。该二进制数为正数,长度不超过31。
输出
输出一个整数,为该二进制数对应的十进制数。
样例输入 Copy
100000000001
样例输出 Copy
2049

答案:

a=input()
count=0
s=[]
sum=0
n=0
for i in a:
    s.append(i)
    count+=1
for i in s:
    sum+=(2**(count-1))*int(s[n])
    count-=1
    n+=1
print(sum)

总结:
1.开始将

 sum+=(2**(count-1))*int(s[n])

写成

sum+=(2**(count-1))*int(s[count])

后来意识到这样是错的,因为一个数的最低位存储在列表长度-1的位置上。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐