1068: 二进制数-python
1068: 二进制数-python题目描述:将一个二进制数,转换为对应的十进制数。输入输入一个二进制数,以回车结束。该二进制数为正数,长度不超过31。输出输出一个整数,为该二进制数对应的十进制数。样例输入 Copy100000000001样例输出 Copy2049答案:a=input()count=0s=[]sum=0n=0for i in a:s.append(i)count+=1for i i
·
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的位置上。
更多推荐
所有评论(0)