2013-08-19 63 views
2

我有一個針對我的編程課的實驗,我需要知道如何讓python計算一個單詞中有多少個字母不包括空格。誰能幫我嗎?這是我迄今爲止。我如何讓Python計算一個單詞中有多少個字母?

def Na(): 
    Name = raw_input("What is your name? : ") 
    count [char] 
Na() 
+0

你能寫的東西要計算所有字母「a」的出現? – user2357112

+0

您應該將問題標記爲「作業」,因爲它是針對編程課程的。 –

+1

@LorenzoBraracchi:沒有。見http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated – user2357112

回答

2

如何使用string.ascii_letters

len([c for c in Name if c in string.ascii_letters]) 

(見@ abarnert的低於期權評論)

或者,可以使用正則表達式:

len(re.findall('[a-zA-Z]', s)) 
+1

不要只爲他做傢伙的作業。 – user2357112

+0

@ user2357112好吧,這個問題非常具體,我們在這裏幫助:)雖然,我知道它不適合「好SO問題」列表。 – alecxe

+1

在不調用'setlocale'的情況下調用'letters'通常不會有用;它可能與'ascii_letters'相同或完全破碎。如果你想要前者,只需使用'ascii_letters'。而你不想要後者;如果ASCII不正確,可以使用'decode'並使用'isalpha',或者明確設置區域設置。 – abarnert

2

爲什麼不使用len

len([ltr for ltr in Name if ltr.isalpha()]) 
3
sum(c.isalpha() for c in Name) 
0

你可以試着用空格分割字符串,加盟新成立的名單,並採取結果字符串的長度,像這樣:

len("".join(name.split(" ")))

相關問題