2013-06-10 2 views
0

함수 내에서 'charge'라는 문자열을 설정했지만 본체에서 'charge'를 호출하면 'charge'가 정의되어 있지 않음을 나타내는 추적 표시가 나타납니다 . 함수 외부에서 문자열을 호출 할 수 있는지 알고 싶습니다. 그렇지 않은 경우 데이터를 가져 오는 또 다른 방법이 있습니까?함수 내에 할당 된 문자열을 호출하려고 시도합니다.

def service (x, y, z): 
    print ('How many animals are being provided for?') 
    nodogs = input ('-----> ') 

    if nodogs == '1': 
     charge = 'x' 

    elif nodogs == '2': 
     charge = 'y' 

    elif nodogs == '3': 
     charge = 'z' 

    x = int (x) 
    y = int (y) 
    z = int (z) 

# the call for the string is later on but I think that part is irrelevant. 
#If it is not, please say and I will post it. 

저는 초보자이며 간단한 코드 만 사용하려고합니다. 당신은의 끝에 행

return charge 

을 넣어해야 TGSpike

+0

'service' 함수 안에있는 코드는 모두 있습니까? (그렇다면 들여 쓰기되어야 함) –

+0

네, 맞습니다. 그것은 프로그램에 indednted이다. 단지 웹 사이트가 아니다. – TGSpike

+2

어쨌든, 함수의 끝 부분에'return charge'라는 줄을 넣어야하고, 함수를 호출 할 때'charge = service (x, y , z)'(''x'''''''를 사용하고 있습니다.). 이것은 메인 프로그램에'charge'값을 반환하고'charge'변수에 넣습니다. 그게 당신이 원하는 것을합니까? –

답변

0

을 - 고급 기능이 필요한 경우 이미 그것을 알고 않을 생각으로, 사전에

감사 기능을 설명해주십시오 기능, 당신은 함수를 호출 할 때 다음, 당신은 그러나

charge = service(x, y, z) 

(와 xyz 설정을 그들을 사용하고 있습니다). 그러면 charge 값이 주 프로그램에 반환되고 변수 charge에 저장됩니다. 여러 변수를 사용하여이 작업을 수행하려면

return x, y 

이것은 풀고 튜플이라고
x, y = service(x, y, z) 

을 할 수 있습니다.

+0

고마워요! 충분한 담당자가 있다면, 나는 당신을 투표 할 것입니다 :( – TGSpike

관련 문제