2016-11-03 3 views
0

가 여기에 명령의 아무것도 반환하지 않습니다파이썬은

정의 하나 개의 문자열 (일)과 하나 개의 문자 (채널)을 수신으로 나눈 나머지를 포함하는 새로운 문자열을 반환하는 함수의 이름 giveMeRemainPos (...) 3 문자가있는 위치, 나머지는 두 개의 점으로 구분됩니다 (그리고 반환되는 문자열의 시작과 끝은 두 개의 점이어야합니다). 문자 ch가 원래 문자열에없는 경우 함수는 두 개의 점만 포함하는 문자열을 반환해야합니다. 예를 들어 ,

S = 문자열을 '..0..1..2 반환 C = "A" giveMeRemainPos (S, C)

가 발생할 기능 "abcdabcdabcdabcd".. 0 .. '에 위치하기 때문에 "a"가 0,4,8,12 위치에 각각 있기 때문에 이러한 위치를 3으로 나눈 나머지는 0,1,2,0 값을 생성합니다.

def giveMeRemainPos(s,c): 
    res=".." 
    for i in range(len(s)): 
     if (s[i]==c): 
      res=res+str(i%3)+".." 
    return res 
s = "abcdabcdabcdabcd" 
c = "a" 
giveMeRemainPos(s,c) 

출력이 같아야합니다

..0..1..2..0.. 

하지만 내 코드는 모두 나에게 아무 것도 반환하지 않습니다. return "astring"과 같은 임의의 문자열을 반환하더라도.

+1

그것이 무엇하게 생각 아무 것도 반환하지 않습니다? 아무것도 인쇄하지 않기 때문에 분명히 아무것도 인쇄하지 않을 것입니다. – kindall

+0

함수 호출의 반환 값을 저장하거나 사용하지 않는 실수입니까? – ArchiFloyd

+2

대화 형으로 작동합니다. 결과를'print' 할 필요가 있다고 생각합니다. –

답변

2

당신은 당신이 (변수에 할당 예를 들어 X = giveMeRemainPos (들에 당신이 결과를 사용하려면 인쇄 을 사용해야 표시 할 결과를 원하는 경우, C)

+0

아! 내 코드에 문제가 있다고 생각 했어! 고마워! –

+0

즐거움.이게 내 문제를 해결했다면 내 대답을 확인해 보라. :) – Anog