인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김동건님의 프로필 이미지
김동건

작성한 질문수

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 함수 활용

69번 질문입니다! (12:23 초)

작성

·

157

0

선생님의 경우는 다음과 같이 푸셨는데요.

def cal(var1, var2, var3):

    if var3 == "+":

        return var1 + var2

    elif var3 == "*":

        return var1 * var2

    elif var3 == "/":

        if var2 == 0:

            return -1

        else:

            return var1 / var2

    elif var3 == "-":

        return var1 - var2

    else:

        return 0

 

data = cal(2, 3, "+")

print (data)

 

data = cal(2, 3, "*")

print (data)

 

data = cal(2,4, "/")

print (data)

 

data = cal(2, 3, "-")

print (data)

 

저의 경우는 다음과 같이 해석해서 풀었습니다.

def cal(var1, var2, var3):

    if var3 == "+":

        return var1 + var2

    elif var3 == "*":

        return var1 * var2

    elif var3 == "/":

        if var2 == 0:

            return -1

        return var1 / var2

    elif var3 == "-":

        return var1 - var2

    else:

        return 0

 

data = cal(2, 3, "+")

print (data)

 

data = cal(2, 3, "*")

print (data)

 

data = cal(2,4, "/")

print (data)

 

data = cal(2, 3, "-")

print (data)

 

리턴을 한다음 else로 다시 한번 받아주시고 return var1 / var2를 사용하셨는데

저는 그냥 곧바로 return을 사용한 케이스입니다.

 

실제로 노트에 사용해본 결과 제꺼에 문제 없이 작동을 하는데 

무엇이 다른건지 알 수 있을까요 ?

 

답변 1

1

안녕하세요.

코드는 항상 동일한 기능을 하도록 하는 코드는 아주 다양할 수 있어요. 단 영상을 다시 보신다면, else 는 if 안에 또는 else 이렇게 한번만 실행될 것 같습니다. if 만 쓰면 true 이면 if 가 실행되고, 그 다음 코드는 무조건 실행될 것 같아요 한번 여러 케이스를 넣으셔서 테스트를 해보시는 것은 어떠실까요? 결국 이런 테스트도 연습을 해보셔야 프로그래밍이 조금씩 되는 것이니까요

김동건님의 프로필 이미지
김동건
질문자

답변 정말 감사합니다

김동건님의 프로필 이미지
김동건

작성한 질문수

질문하기