본문 바로가기
개발 이야기/파이썬

파이썬에서 y, n 선택 입력을 물어보는 코드

by AI 동키 2021. 5. 20.
반응형

파이썬에서 pip install 을 사용할때면 항상 파일을 찾은 후에 설치 하시겠습니까?(y/n) 라는 질문이 나온다.

내가 짜는 코드가 새로운 파일을 생성하거나 삭제 하는 어떤 행위를 한다면, 사용자에게 최종 확인을 받는게 좋을 것이다. 그 때, yes or no를 묻는 함수를 어떻게 짜는지 알아보겠다.


아래와 같이 함수명을 yes_or_no 로 정했다. question을 입력하면 입력창이 출력되고, y, n 입력에 따라 True, False를 Return하는 구조로 짜게 되었다.

def yes_or_no(question):
    while "the answer is invalid":
        reply = str(input(question+' (y/n): ')).lower().strip()
        if reply[0] == 'y':
            return True
        if reply[0] == 'n':
            return False

 

실행하게되면 다음과 같이 사용자 입력을 받게된다.

 

순순히 y를 입력하면,

y n이 아닌 문자를 입력하게 되면 아래와 같이 다시 되묻게 된다.

이게 while문을 쓴 이유이다.

이 함수를 사용하는 예시를 짜보자.

if yes_or_no("Do you want to continue?") == True:
    print("Here we go")
else :
    print("Nope")

yes_or_no 함수가 True이면 "Here we go"를 출력

그게 아니면 Nope을 출력하도록 짜보았다.

이처럼 함수의 결과를 다른 함수나 명령어로 연결시키면 되겠다.

 


같이 눈사람 만들래?

def yes_or_no(question):
    while "the answer is invalid":
        reply = str(input(question+' (y/n): ')).lower().strip()
        if reply[0] == 'y':
            return print("Let's do it!")
        if reply[0] == 'n':
            return print("Okey Bye~")
        
yes_or_no("Do yo wanna build snowman?")

 

 

 

 


사용자에게 y/n를 묻는 함수를 짜보았다.

이를 살짝만 응용한다면 내 코드에서 특정 액션을 취할 때 사용자의 최종 확인을 받을 수 있을 것이다.

 

 

 

반응형

댓글