2013-08-19 69 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(" ")))

相关问题