字母表到整数

时间:2014-09-26 14:21:17

标签: python arrays integer alphabet

我试图创建一个程序,其中用户输入一个字符串,例如“滚动”和“滚动”。程序将字母表转换为a=1, b=2, c=3等数字,并计算这些值的总和。但是,如果程序在一行中找到两个相同的字母,那么它会使总和翻倍。到目前为止,我已经这样做了:

input = raw_input('Write Text: ')
input = input.lower()
output = []
sum=0
for character in input:
    number = ord(character) - 96
    sum=sum+number
    output.append(number)
print sum

计算字符总和,并将转换后的字符附加到新数组。如果连续出现两个字母,那么有人可以帮我加倍吗?

1 个答案:

答案 0 :(得分:0)

存储前一个字符并将其与当前字符进行比较。如果它们相同,则将值加倍。

word = 'hello'
out = []
c_prev = None

for c in word:
    value = ord(c) - ord('a')

    if c == c_prev:  # double if repeated character
        value = value * 2

    out.append(value)
    c_prev = c  # store for next comparison

print(sum(out))