如何将字符串中的数字乘以其在字符串中的位置



我在这方面是新手。我试图将下面字符串的每个元素('10010010')乘以2的元素在字符串中位置的幂,并将所有乘法求和。到目前为止,我一直在尝试这样做,但我不知道该怎么做。

def decodingvalue (str1):

# read each character in input string 
for ch in str1: 
q=sum(2^(ch-1)*ch.isdigit())
return q 
<标题>

函数调用打印(decodingvalue (' 10010010 '))

谢谢你的帮助!

我认为你试图将二进制转换为整型。如果是这样的话,你可以这样做:

str = '101110101'
#length is counted 1 to n, decrementing by 1 changes to 0-(n-1)
c = len(str)-1 
q = 0
for ch in str:
print(q,c,ch)
q = q + (int(ch)*(2**c)) #in python power is '**'
c = c-1
if c == -1:
break
print(q)

你当然可以优化它,用更少的行完成。在python中^(插入符操作符)是位异或。

相关内容

  • 没有找到相关文章

最新更新