2012-09-18 43 views
1

一個新手問題:我必須迭代一個名字,然後將每個字母與一個以a=1, b=2, c=3, etc.開頭的數字相關聯,然後對這些數字進行求和。但迄今爲止沒有取得進展,我得到了這一點:匹配查找表的字符串迭代

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

它是H.W轉讓? – Michael

+0

是'A == 1'和'a == 1'? –

回答

1

到值創建一個字典映射的字符,然後使用get()法的0當前字符上默認。

3

這個怎麼樣?

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

即使您使用大寫和小寫字母,這也可以工作。如果只處理小寫字母,則可以將c.lower()更改爲c(當然,它仍然可以正常工作,但如果僅使用小寫字母,則更改會使速度更快)。

+2

我認爲這是唯一真正做到他想要的東西......(根據我對他想要的東西的理解...) –

相關問題