처음에는 이 아니며은 변수 str
을 호출합니다. 왜? 그것은 파이썬 문자열을위한 클래스의 이름이기 때문입니다. 같은 이름을 사용하면 느슨해집니다. 나는 txt
을 사용한다.
길이에 대한 테스트는 의미가 있지만 하한은 증가 할 수 있습니다 (한 글자는 어리 석음).
그러나 str.replace()
을 사용하는 것은 가능하지 않습니다. 왜? 테스트 케이스에서는 작동 할 수 있지만, 각 캐릭터는 고유해야합니다. str.replace()
은 을 모든 지정된 문자열로 대체합니다. 따라서 첫 번째 또는 마지막 문자가 다른 곳에서 반복되면 그 문자도 바뀌게됩니다.
슬라이싱을 사용할 수 있습니다. 여기서 첫 번째 (가장 왼쪽) 문자는 0입니다. 음수를 사용하여 오른쪽에서 색인을 생성 할 수 있으므로 -1이 마지막 (가장 오른쪽) 문자입니다. 문자의 범위는 처음부터 마지막 문자 다음에옵니다. 따라서 [1:-1]
은 두 번째 문자에서 마지막 문자로 이동합니다. 그 처리 텍스트의 정상적인 방법이 될 것이기 때문
def front_back(txt):
if len(txt) <= 1:
return txt
else:
new_txt = txt[-1] + txt[1:-1] + txt[0]
return new_txt
print front_back("code")
나는 함수에 return
를 사용하고, 그 질문에 대한 요청합니다.
무엇이 문제입니까? –
StackOverflow에 오신 것을 환영합니다. 학교 숙제를하고 도움이 필요한 것 같습니다. 나는 당신이 당신의 스승에게 물어 보거나 당신의 학습 자료에서 찾아보고 인터 웹에 대한 완전한 답을 얻기 위해 생선을 피우라고 제안 할 것입니다. 그러나 그렇게 할 예정이라면 코드의 어떤 부분이 당신을 위해 작동하지 않는지, 원하는 동작이 무엇인지, 어쩌면 발생한 오류를 보여주는 스택 추적 및 ** 가장 중요하게 ** : 이 문제를 해결하려고 노력했습니다. – Torxed
문제는 두 번째'replace'에서 발생합니다 : 마지막 문자뿐만 아니라 모든 문자를 바꿉니다. –