如何使用for循环将python中字符代码的数值相加

How to add up the numeric values of character codes in python using a for loop

我将自己的名字保存为变量名下的字符串。 我想找到我名字中每个字符的字符代码,然后使用 for 循环将它们全部相加。刚开始是这样的,不知道看的对不对

name = "Ashley Marie"
for index in name:
    ans = ord(index)

您可以使用map对所有字符应用ord函数,然后使用sum函数计算总和:

>>> name = "Ashley Marie"
>>> 
>>> sum(map(ord,name))
1140

您还可以使用列表推导式将 ord 应用到您的角色上,但是当您处理内置函数时 map 的性能稍好!所以我建议 map.

同样,对于最长的字符串,您可以在 sum 中使用 generator expression,这不会创建列表并且可以节省大量内存:

sum(ord(i) for i in name)

Kasra 解决方案是正确的,但您要求的是 "for loop"...所以这里是:

 name = "Ashley Marie"
    sum = 0
    for ch in map(ord, name):
        sum += ch
    print sum

name = "Ashley Marie"
sum = 0
 for c in name:
    sum += ord(c)
print sum