본문 바로가기
파이썬

파이썬 How to go back to first if statement if no choices are valid

by º기록 2021. 2. 3.
반응형

조건이 올바르게 충족되지 않으면 어떻게 파이썬이 if 문의 맨 위로 이동하도록 할 수 있습니까?

다음과 같은 기본 if / else 문이 있습니다.

print "pick a number, 1 or 2"
a = int(raw_input("> ")

if a == 1:
    print "this"
if a == 2:
    print "that"
else:
   print "you have made an invalid choice, try again."

내가 원하는 것은 사용자가 전체 프로그램을 다시 시작할 필요없이이 if 문에 대해 다른 선택을하도록 프롬프트하는 것입니다.하지만 Python을 처음 접했고 어디서나 온라인에서 답을 찾는 데 어려움을 겪고 있습니다.

 

해결 방법

 

이 작업을 수행하는 매우 일반적인 방법은 입력이 유효 할 때 루프를 종료하는 break 문과 함께 무기한 실행되는 while True 루프를 사용하는 것입니다.

print "pick a number, 1 or 2"
while True:
    a = int(raw_input("> ")
    if a == 1:
        print "this"
        break
    if a == 2:
        print "that"
        break
    print "you have made an invalid choice, try again."

재시도 횟수를 제한하는 좋은 방법도 있습니다. 예를 들면 다음과 같습니다.

print "pick a number, 1 or 2"
for retry in range(5):
    a = int(raw_input("> ")
    if a == 1:
        print "this"
        break
    if a == 2:
        print "that"
        break
    print "you have made an invalid choice, try again."
else:
    print "you keep making invalid choices, exiting."
    sys.exit(1)

 

참조 페이지 https://stackoverflow.com/questions/12828771

 

 

반응형

댓글