2014-02-17 4 views
0

임에 변수를 업데이트하고이에 대한 해결책은 간단 있는지 메신저하지만 난 꽤 주위에 내 머리를 얻을 수 없습니다. 함수가 호출 될 때 변수를 업데이트하는 함수를 작성하려고합니다. 함수가 변수라고 처음 함수가 나는이 결과를 기대할 수있는 기능을 5 번 호출 된 경우 변수가 1는 파이썬에 새로운 기능

을해야한다고 한 후 호출 할 0마다해야한다.

status = 0 
status = 1 
status = 1 
status = 1 
status = 1 

답변

1
def function(status): 
    if function.wasCalled == True: 
     status = 1 
    function.wasCalled = True 
    return status 

function.wasCalled = False 
status = 0 

print(function(status)) 
print(function(status)) 
print(function(status)) 
print(function(status)) 
print(function(status)) 
print(function(status)) 
+0

나는 이것이 내가하고 싶은 것을 위해 일한다고 믿는다. 대단히 감사합니다. – user3299406

0

전역 변수를 선언하고 함수 내에서 업데이트하면됩니다.

status = 0 

def my_function(): 
    global status # Needed to modify global copy of globvar 
    status = 1 

my_function() 
print status # Should be 1 

이것은 트릭을 수행합니다. 또는 함수가 호출 될 때마다 상태를 증가시키고 싶습니까? 5 번 전화하고 상태 = 5라고하니? 여기를보십시오 : https://ideone.com/KnQEWx

+0

난 그냥 한 번 상태의 값을 증가하고자합니다. 그래서 my_function이 처음으로 status라고 부르는 것은 그 상태가 1이 될 때마다 매번 0이 될 것입니다. – user3299406

0

사용하여 다음 코드를

데프 Yourname 활용할() : 진정한 동안 X = 1 : 경우 X == 1 : 인쇄 (0) ELIF의 X를 ! = 1 : 인쇄 (1) Yourname 활용할()