我正在尝试编写计算名称数值的程序
这是我写的
name = input("Enter your full name:")
low = name.lower()
sum = 0
print ()
for ch in name :
print(sum + ord(ch)-96)
问题是当我输入一个名字时,例如我得到了 anna
输出将是
1
14
14
1
我怎样才能只得到总和?在这种情况下是 30
请您参考如下方法:
您必须在循环中每次更新 sum 变量。将循环更改为:
for ch in name :
sum += ord(ch)-96
print(sum)
您还可以使用 sum()带有生成器表达式的函数:
>>> name='anna'
>>> sum(ord(ch) - 96 for ch in name)
30
