2014-08-29 7 views
0

새내기 질문 :단어를 소문자로 변환하는 정의 함수

입력을 정의하지 않고 아래에서 할 수있는 방법이 있습니까?

def lowercase(): 
x = input('Enter Text:') 
print('lowercase:',x.lower()) 
lowercase()" 

ARG를 전달하고 ARG를 인쇄하면됩니다.

예 :

소문자 : 나는 시도

, 인수 아래 다음과 같은, 그러나 나는 다음과 같은 오류가 발생합니다 : 나가서 설명하자면 NameError : 이름이 'ARG'정의되어 있지 않습니다.

def lowercase(x): 
print("lowercase:", x.lower()) 
lowercase(ARG) 
+1

첫 번째 코드 예제에 심각한 문제가 있습니다. 이 문제를 해결하십시오. – fuesika

+1

코드는 귀하가 주장하는 것을하지 않습니다. 'IndentationError'를 발생시킵니다. 이 문제를 해결하면 머무르기 때문에'SyntaxError'가 발생합니다. 초보자에게 명시 적으로 질문하는 경우, 실제 코드에서 더 잘 알고 있다고 가정 해 줄 수는 없으며 정확하게 코드에 대한 자세한 내용은 [MCVE] (http://stackoverflow.com/help/mcve)를 참조하십시오. – abarnert

+0

한편으로는 "ARG 전달"이란 무엇을 의미합니까? 명령 줄 인수를 전달 하시겠습니까? 어떤 변수를 전달하고 싶습니까? 당신은 입력을 호출하고 그것을 전달하고 싶습니까? 아니면 Aaargh의 성처럼 코드를 조각하는 동안 죽었습니까? – abarnert

답변

2

문자열을 전달합니다

def lowercase(a): 
    print('lowercase:',a.lower()) 
lowercase("FOO") 

또는 정의한 ARG 변수 : 당신이 변수 ARGstring입니다 어딘가에 정의가없는 한

ARG = "FOO" 

def lowercase(a): 
    print('lowercase:',a.lower()) 
lowercase(ARG) 

, 당신은 str.lower() 방법을 호출 할 수 없습니다 그 위에.

그래서 중 첫 번째 예에서와 같이 직접 문자열을 전달하거나, 보조 노트에 변수

을 통과 변수의 이름을 지정할 때 lowercase 사용하려는 경우 당신은 변수가 string 포인트가 정의되어 있어야합니다.

+0

'lowercase'가'print'를 호출하면 ('None'을 반환합니다.), 함수를 호출 할 때'print'를 사용할 필요가 없습니다. – chepner

+0

@chepner, yep fixed. pycharm을 사용하는 데 너무 익숙합니다. –

관련 문제