프로그래밍 언어/Python
재귀함수와 return
Sondho
2020. 7. 17. 19:36
# 예시 : return이 없을 때
def recursion():
re = input("Do you want to start over? y/n")
if (re != "y") and (re != "n"):
print("That's not a valid answer")
recursion() ######
else:
return re
print(recursion())
recursion()으로 재귀시킨 뒤 값을 반환시키려고 할 때, return을 안쓰면 문제가 발생한다.
처음 실행시켜서 y나 n을 입력하면 제대로 작동하는 걸 볼 수 있지만
y나 n 외의 아무 문자나 숫자를 입력하고 y나 n을 입력하면 None으로 출력된다.
# 예시 : return이 있을 때
def recursion():
re = input("Do you want to start over? y/n")
if (re != "y") and (re != "n"):
print("That's not a valid answer")
return recursion() ######
else:
return re
print(recursion())
아래의 코드처럼 값을 반환 받는게 아니라면 상관없다.
# 값을 return 시키려는게 아니라면 상관없다.
def recursion():
re = input("Do you want to start over? y/n ")
if (re != "y") and (re != "n"):
print("That's not a valid answer")
recursion() ######
else:
print("반환 안받을 거야!")
recursion()