2014-12-10 4 views
2

다음 파이썬 코드가 대문자를 포함하는 문장을 인쇄하는 이유가 표시되지 않습니다 ... 설명해주십시오! :)소문자 단어를 만드는 기능 (위아래로 변환)이 예상대로 작동하지 않습니다.

def lower(text): 
    text = text.lower() 

example = "This sentence has BIG LETTERS." 
lower(example) 
print(example) 

출력은 다음과 같습니다

This sentence has BIG LETTERS. 
+0

왜 example.lower() 대신 사용자 정의 함수가 필요합니까? – user3885927

+0

아무것도 반환하지 않기 때문에 'text.lower()'를 사용할 수 있지만 함수를 사용하려면'텍스트를 반환해야합니다 ' – abhishekgarg

+0

최소한의 (작동하지 않는) 작동 예제입니다. 나는 의도적으로 텍스트에 더 많은 조작을 포함시키고 자했다. – keyx

답변

2

함수가 아무것도 반환하지 않습니다, 당신은 return에 말씀이 필요합니다

def lower(text): 
    text = text.lower() 
    return text 

데모 :

>>> example = "This sentence has BIG LETTERS." 
>>> lower(example) 
'this sentence has big letters.' 

당신이 다음과 같은 이유를 의미한다면 작동하지 않습니다

lower(example) 
print(example) 

당신이 함수 내부의 변수는 지역 범위와 전화 lower(example)으로 example 세계적으로 변경되지 않습니다를 가지고 있음을 알 필요가! 직접 기능을 내장

+0

감사합니다. 그러나 : 1 : 왜요? 2 : 작동하지 않습니다! – keyx

+0

@keyx 환영합니다. * 무슨 뜻입니까? 2 : 작동하지 않습니다! *? – Kasramvd

+0

@keyx : 그것은'lower()'함수의 결과를 절대로 할당하지 않기 때문입니다. –

0

사용 :

print example.lower() 

을 포장하거나 재발견하지 마십시오!