1

初心者の質問:名前を繰り返してから、各文字をで始まる数字に関連付けてからa=1, b=2, c=3, etc.、数字を合計する必要があります。私はこれまでに到達しましたが、それ以上はありません:

def main():
    name = input("Enter name  ")
    sum = 0
    for ch in name:
        # ?
4

2 に答える 2

3

これはどう?

def main():
    print sum(ord(c.lower()) - ord('a') + 1 for c in raw_input("Enter name: "))

これは、大文字と小文字の両方を扱っている場合でも機能します。小文字のみを扱う場合は、に変更できます(もちろん、そのままでも機能c.lower()しますが、小文字のみを扱う場合cは、その変更を行うと処理が速くなります)。

于 2012-09-18T20:51:57.943 に答える
1

文字を値にマッピングするディクショナリを作成get()し、現在の文字でデフォルトの 0 でメソッドを使用します。

于 2012-09-18T20:42:49.990 に答える