我试图创建一个程序,其中用户输入一个字符串,例如“滚动”和“滚动”。程序将字母表转换为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
计算字符总和,并将转换后的字符附加到新数组。如果连续出现两个字母,那么有人可以帮我加倍吗?
答案 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))