2013-04-21 3 views
0

나는 주어진 인덱스의 문자가 파이썬으로 반복 된 횟수를 반환하는 프로그램이 필요합니다. 예를 들어, 나는 그것을 제공하는 경우 :주어진 문자열 위치의 반복 횟수를 반환하십시오.

numLen("This is a Test", 3) 

난의 세 번 말한다 있기 때문에

3 

을 반환합니다. 내가 아는

def numLen(string, num): 
    for s in string: 
     print(s + ' ' + str(test.count(s))) 

아무것도,하지만 난 손실들에있어 : ​​ 은 지금은 단지이 없다.

+0

함수 매개 변수가 일치하지 않습니다. 'test'는 어디에 정의되어 있습니까? –

+0

'string.count (string [num])'가 작동해야합니다. – Blender

+0

코드 수정시 여전히'test.count (s)'가 있습니다. :-) –

답변

1

당신은 지정된 인덱스에있는 문자를 얻기 위해 먼저 필요, 다음 수를 반환 :

def numLen(inputstring, index): 
    char = inputstring[index] 
    return inputstring.count(char) 

데모 :

>>> def numLen(inputstring, index): 
...  char = inputstring[index] 
...  return inputstring.count(char) 
... 
>>> numLen("This is a Test", 3) 
3 

파이썬 인덱스 제로에서 시작, 그래서 위치 3가이다 귀하의 입력 예에서 편지 s.

+1

'string'을 변수 이름으로 사용하는 것은 표준 라이브러리의 잘 알려진 모듈이므로 나쁜 습관이었습니다. – Volatility

+0

@ 가변성 : 아마도; 이름 선택에 좀 더 명시 적으로 업데이트되었습니다. –

+0

여전히주의를 기울여야합니다. 실제로 수입 할 수있는 문자열 모듈이 있습니다 : import string –

0

def count_occurences(line, index): return line.count(line[index])

관련 문제