편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2022.09.02

    함수 매개변수에 외부함수 포함한 조건 넣을 때 질문 입니다.


    파이썬 함수 질문입니다. 예를 들어 현재 온도를 리턴하는 외부함수 a 가 있고 온도에 따라서 작동하는 함수 b 를 만드는데 있어서

    def b (c = True):
        while true:
            if c:
                에어컨을 튼다.
            else:
                에어컨을 끈다.
    
    b( a() > 30 )
    

    라고 만들었을 때, 위처럼 함수실행시 c 매개변수에 a() > 30 을 넣게 된다면 함수 작동시 계속해서 a()함수를 불러와서 상황을 갱신하지 않고 실행당시의 리턴 값으로 매개변수가 고정되게 되어버립니다. 해보니 당연한 결과라는 생각은 들지만..

    이것을 온도, 혹은 습도 등으로 조건을 바꾸면서 매개변수에 조건을 전달하고 함수가 실행될때 외부함수의 조건이 함수 b 안에서 계속 갱신되게 만들고 싶은데 어떤식으로 매개변수에 전달해야 하나요? 아니면 다른 방법이 있을까요? 조건을 매개변수에 넣는 식으로 이 문제를 해결 할 수 있는지 궁금합니다.

  • 프로필 JL.님의 편집
    날짜2022.09.02

    함수 매개변수에 외부함수 포함한 조건 넣을 때 질문 입니다.


    파이썬 함수 질문입니다. 예를 들어 현재 온도를 리턴하는 외부함수 a 가 있고 온도에 따라서 작동하는 함수 b 를 만드는데 있어서

    def b (c = True): while true: if c: 에어컨을 튼다. else: 에어컨을 끈다.

    b( a() > 30 )

    라고 만들었을 때 위처럼 함수실행시 c 매개변수에 a() > 30 을 넣게 된다면 함수 작동시 계속해서 a()함수를 불러와서 상황을 갱신하지 않고 실행당시의 리턴 값으로 매개변수가 고정되게 되어버립니다. 해보니 당연한 결과라는 생각은 들지만..

    이것을 온도, 혹은 습도 등으로 조건을 바꾸면서 매개변수에 조건을 전달하고 함수가 실행될때 외부함수의 조건이 함수 b 안에서 계속 갱신되게 만들고 싶은데 어떤식으로 매개변수에 전달해야 하나요? 아니면 다른 방법이 있을까요? 조건을 매개변수에 넣는 식으로 이 문제를 해결 할 수 있는지 궁금합니다.