二进制到十进制代码改进

时间:2016-07-07 11:33:49

标签: python-2.7

我对python 2.7完全不熟悉。上次我为自己开发了一个小功能,并喜欢知道如何改进我的算法。那里有什么不必要的东西吗? (我不想故意使用构建函数,因为我是初学者。但我知道这些存在。我希望以后能记住这一点。)或者你知道其他方法可以从基础计算2到10?这是我所知道的唯一方式,或者更确切地说,我将如何用笔和纸计算它。

import math

print "Please enter a binary sequence."
prompt = '>> '
x = raw_input(prompt)
n = x[::-1]
i = 0
s = 0

'''bin2dec'''
for i in range(len(n)):
  i += 1
  if int(str(n)[i-1]) != 0:
    s += pow(2, i-1)
  else:
    s += 0
print s

PS:我目前正在制定反向算法。敬请关注:)

1 个答案:

答案 0 :(得分:0)

import math
print "Please enter a binary sequence."
prompt = '>> '
x = raw_input(prompt)
x = list(x[::-1])
result=0
'''bin2dec'''
for i in range(len(x)):
    result+=int(x[i])*pow(2,i)
print result
  • 首先在发布时保留可理解的变量。
  • 可以将输入转换为列表以便更好地遍历。
  • 这可以通过您的概念进行更明确和可升级的代码。
  • 可以使用2**i代替使用数学函数。
相关问题