파이썬 함수 질문할께요 plus(a) 를 반복하여 a 값을 증가시키기.
조회수 774회
count=0
def plus(a):
a=a+1
print(a)
for i in range(3):
plus(count)
이렇게 실행하면 1,1,1
이 뜨는데
1,2,3
이되게 하려면 어떻게 해야하나요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
왜
1
만 3번 나오느냐 하면...count=0 def plus(a): # <-- (2) plus(0) 실행됨 a=a+1 # --> (3) plus() 안의 변수 a만 바뀌고 있고 count 는 변화 없음 print(a) # --> (4) 1 출력됨 plus(count) # --> (1) 이 시점에서 count = 0 plus(count) # --> (5) 이 시점에서 count는 변한 적이 없으므로 count = 0, 1 출력됨 plus(count) # --> (6) 이 시점에서도 count는 변한 적이 없으므로 (후략)
전역변수
count
를 이용해서 원하시는 작업을 하자면...def plus(lastCount): # 이 함수가 하는 일은: nowCount = lastCount + 1 # 숫자를 넣으면 거기에 +1 해서 print(nowCount) # 그걸 출력하고 return nowCount # 방금 출력한 그 숫자를 반환한다. count = 0 # 이제 특정 변수의 초기값을 지정하고 for i in range(3): # 루프를 돌면 count = plus(count) # 함수는 그 값을 +1 한 값으로 변경하며 반복 실행된다.
댓글 입력