2012-03-27 3 views
1

파이썬에서는 단어의 자음 수가 어떻게 계산됩니까? 나는 이것을 할 수있는 몇 가지 다른 방법이 있다는 것을 알았지 만, 나의 선택 방법은 단어의 각 글자를 분석하고 자음을 만났을 때 카운터에 추가하는 것이라고 생각합니다. 난 단지 그것을 구현하는 방법을 알아낼 수 없습니다.단어의 자음 수를 계산하려면 어떻게해야합니까? python

이것은 무엇입니까?

count = 0 
consonant = 'astringofconsonants' 
if consonant in string[0]: 
    count += 1 
+1

감사합니다 모두 모두를 추가 할 sum() 기능을 사용하여, 당신의 대답은 나에게 몇 가지 아이디어를 주었다. – user1294377

답변

0

당신이 준 시작은 매우 파이썬 없습니다.

for c in word: 
    if c in consonants: 
     # do something 

당신은 또한 다음과 같은 발전기를 사용할 수 있습니다 사용하여 목록을 반복하십시오. 그것은 각 글자를 훑어보고 각 자음의 수를 계산합니다.

(word.count(c) for c in consonants) 

+0

Python의 경우, 나는'array'가 아니라'list'를 의미한다고 생각합니다.) – Blender

+0

아, 아, 네가 다른 언어와 섞여서 죄송합니다. – jamylak

+0

나는 항상 "Pythonic"을 "초보자에게는 적합하지 않습니다."라고 말했습니다 :-) – paxdiablo

2

당신은 문자열을 통해이 목록을 반복 같은 방법으로 반복 할 수

for letter in word: 
    if letter in consonants: 
    # You can fill in from here 
1

순회 문자열을 통해 차례로 각 문자를 얻을 수 있습니다.

for c in 'thequickbrownfoxjumpsoverthelazydog': 
    print c 
+0

이것은 모두 내 기억, 감사 모두에게 일할 필요가 있었어! – user1294377

1

독해력! 댓글에서

count = sum(1 for c in cons if c not in ['a','e','i','o','u']) 

, 아마 더 파이썬은 :

count = len([c for c in cons if c not in 'aeiou']) 
+0

사실은 (파이썬) 이해력이 아닙니다. –

+0

아니면 len ([ 'a', 'e', ​​'i', 'o', 'u']]이 아닌 단어를 c로 사용) – kwarrick

+0

목록을 ' aeiou'' :'count = len ([aeiou]에없는 문자 인 경우 문자로 된 문자)' – Blender

관련 문제