Skip to main content
 首页 » 编程设计

python之为字母分配数值的更快方法

2025年05月04日1352php

我试图从列表中的单词中读取每个字符,然后根据该单词中的每个字母为它们分配一个值。我的代码长得愚蠢,我相信一定有更短的方法来做到这一点......

    for c in tempWord: 
        if(c == "A"): 
            tempSum += 1 
        elif(c == "B"): 
            tempSum += 2 
        elif(c == "C"): 
            tempSum += 3 
        elif(c == "D"): 
            tempSum += 4 
        elif(c == "E"): 
            tempSum += 5 
        elif(c == "F"): 
            tempSum += 6 
        elif(c == "G"): 
            tempSum += 7 
        elif(c == "H"): 
            tempSum += 8 
        elif(c == "I"): 
            tempSum += 9 
        elif(c == "J"): 
            tempSum += 10 
        elif(c == "K"): 
            tempSum += 11 
        elif(c == "L"): 
            tempSum += 12 
        elif(c == "M"): 
            tempSum += 13 
        elif(c == "N"): 
            tempSum += 14 
        elif(c == "O"): 
            tempSum += 15 
        elif(c == "P"): 
            tempSum += 16 
        elif(c == "Q"): 
            tempSum += 17 
        elif(c == "R"): 
            tempSum += 18 
        elif(c == "S"): 
            tempSum += 19 
        elif(c == "T"): 
            tempSum += 20 
        elif(c == "U"): 
            tempSum += 21 
        elif(c == "V"): 
            tempSum += 22 
        elif(c == "W"): 
            tempSum += 23 
        elif(c == "X"): 
            tempSum += 24 
        elif(c == "Y"): 
            tempSum += 25 
        elif(c == "Z"): 
            tempSum += 26 

这可能是一个愚蠢的问题,但无论如何谢谢!

请您参考如下方法:

使用ord计算字符相对于 A 的偏移量。

A = ord('A') 
for c in tempWord: 
    if 'A' <= c <= 'Z': 
        tempSum += ord(c) - A + 1 

A = ord('A') 
tempSum = sum(ord(c) - A + 1 for c in tempWord if 'A' <= c <= 'Z')