반응형
조건이 올바르게 충족되지 않으면 어떻게 파이썬이 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
반응형
'파이썬' 카테고리의 다른 글
파이썬 두 목록에 Python에서 동일한 요소가 포함되어 있다고 주장하는 방법은 무엇입니까? (0) | 2021.02.04 |
---|---|
파이썬 Making sure that psycopg2 database connection alive (0) | 2021.02.03 |
파이썬 정수 나눗셈은 float를 산출합니다. (0) | 2021.02.03 |
파이썬에서 두 정수를 연결하는 방법은 무엇입니까? (0) | 2021.02.03 |
파이썬 Python SIP library (0) | 2021.02.03 |
댓글