본문 바로가기
Python/Python

재귀함수와 return

by Sondho 2020. 7. 17.
# 예시 : 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()

'Python > Python' 카테고리의 다른 글

csv생성과 os를 통한 파일경로 생성  (0) 2020.07.20
if문 - 다양한 조건부 표현식  (0) 2020.07.17
lambda, sorted()  (0) 2020.05.13
문자열 뒤집기 - 문자열 슬라이싱  (0) 2020.05.08
int형 list를 .join으로 꺼내기  (0) 2020.05.05

댓글