首页 > 解决方案 > 将整数分配给字母并将这些整数相加

问题描述

我正在尝试将数字 1-26 分配给字母 az 并根据任何给定的字符串将这些数字相加,但没有任何成功。例如:a = 1, b=2, c=3。因此,如果任何给定的字符串是"abc",则输出应该是1+2+3=6

编程背景——新手,自学。我只学习了python编程中的字符串、列表及其相应的方法。我还没有研究过函数和类,所以请让你的答案尽可能简单。

到目前为止我已经尝试过

Name = "abc" 
a,b,c = [1,2,3]
Sum_of_name = ""
For alphabet in abc:
         Sum_of_name = sum_of_name + alphabet
Print(sum_of_name)

打印出相同的 abc。

我意识到当我迭代字符串“abc”时,该字符串与变量 a、b 和 c 不同。因此,整数没有分配给字符串,也不能相加。

关于我如何以我目前的知识水平解决这个问题的任何建议。

标签: pythonpython-3.x

解决方案


这是一种方法。

演示:

from string import ascii_lowercase
d = {v: i for i,v in enumerate(ascii_lowercase, 1)}
Name = "abc" 
print( sum(d[i] for i in Name) )

输出:

6

推荐阅读