그냥보십시오 :
reverse(hello)
사실은 역의 반환 값을 인쇄하는
print reverse(hello)
와
그래서, 당신의 문제를 해결 값을 반환합니다. 그 반환 값은 없음입니다.
조언 내가 당신에게 몇 가지 일반적인를 들어 보겠습니다 :
역을() 코드에서 부작용 (인쇄)를 가진 기능입니다. 또한
i = len(letters) - 1
while i >= 0:
backwards = backwards + letters[i]
i = i - 1
이 mantain하기 쉽고 아닌 경우입니다
def reverse(letters):
backwards = ""
i = len(letters) - 1
while i >= 0:
backwards = backwards + letters[i]
i = i - 1
return backwards
print (reverse("hello"))
을 : 당신이 필요) (반대를 가진를 인쇄하는 대신 단어를 반환 고려하지 않을 때 당신은 부작용 기능을 피해야한다 루프에 기능을 추가하면 감소 i = i-1은 '개념적으로'있어야하는 곳에서 멀리 떨어져있을 것입니다.체크와 함께 감소를 가진 선호한다 : 나는 게으른 때
for i in xrange(len(letters)-1,-1,-1):
backwards = backwards + letters[i]
나는
myString = myString + fewChars
그래서 난 당신이 게으른 것을 이해할 수있는 물품. 그러나 fewChars를 추가하는 것은 myString을 수정하지 않고 새로운 문자열을 만듭니다. 반복적으로 많은 문자를 추가하는 경우 가장 효율적인 방법은 하나씩 추가하는 것입니다. join() 사용을 고려하십시오. 동의 예를 들어
letters = 'word'
lettersList = [letters[i] for i in xrange(len(letters)-1,-1,-1)]
myReversed ''.join(lettersList)
확인 그것이 newstring 인수로 쓰여진 = oldString + oneChar 접근 방식보다 더 나은 확장 읽고 아마 더 빨리,하지만 더 큰 문자열을하지 않습니다. 말했다
는
, 더 파이썬은
letters[::-1]
이미 나에게 일반적으로 훨씬 더 잘 작동보다 더 빨리 누군가에 의해 제안 및 파이썬 프로그래머 읽을 수 쉽게 접근한다.
[기능 목록에서 항목 반환]. Python] (http://stackoverflow.com/questions/18990977/return-items-from-list-in-function-python) – Freddie