while 루프 내부의 if 문에 연결할 수없는 코드

타 하셈 바 키르 한

유효한 입력이 입력 될 때까지 계속 반복하기 위해 while 루프로 메뉴를 만들려고했습니다. 이것은 내가 가진 코드입니다.


print("1) Play game")
print("")
print("2) Instructions")
print("")
print("3) Quit")
print("")

while True:
    try:
        menu = int(input("Make a selection: "))
    except ValueError:
        print("Sorry, your input was not valid")
    continue
    
    if menu > 3 or menu < 1:
        print("Please use a number in the range 1-3")
        continue
    else:
        break
if menu == 1:
    print("Lets go!")
elif menu == 2:
    print("Lets go!")
else:
    print("Quitting...")

"if menu> 3 또는 menu <1 :"라고 표시된 "if"는 다음과 같은 오류를 표시합니다.

"연결할 수없는 codepylint (연결할 수 없음)"

제발 도와 주시면 감사하겠습니다.

조 Ferndz

문제 1 : 계속 문

코드 이해를 돕기 위해 순서도를 사용하여 선을 그렸습니다.

여기에 이미지 설명 입력

그러나 except 문 내에서 continue를 이동하면 코드는 성공적인 try 문에서 if 문으로 전달됩니다.

문제는 코드가 결코로 진행되지 않도록한다 if menu > 3....문은 항상로 이동 try하거나 except을 수행 한 후와 continue. 따라서 루프 자체가 if menu > 3 ....문을 건너 뜁니다 . 즉, 실행되지 않으므로 루프에서 벗어날 수 없습니다 break.

문제 2 : continue 문을 제거했다고 말했습니다.

문에서 continue를 제거하면 새로운 문제가 발생합니다. 코드가 except 절에 들어가면 변수 메뉴가 제대로 생성되지 않습니다. 따라서로 이동 if menu > 3 ...하면 변수가 정의되지 않았고 (except 절로 인해) 새로운 오류가 발생합니다.

해결책:

continue문을 except내부 로 옮기는 것이 좋습니다 . 그것은 문제를 해결할 것입니다. 메뉴 입력에 오류가 있으면 while 문으로 돌아갑니다. 성공 if menu > 3 ...하면 제대로 실행됩니다.

수정 된 올바른 코드는 다음과 같습니다.

while True:
    try:
        menu = int(input("Make a selection: "))
    except ValueError:
        print("Sorry, your input was not valid")
        continue #move this inside except
    
    if menu > 3 or menu < 1:
        print("Please use a number in the range 1-3")
        continue
    else:
        break
if menu == 1:
    print("Lets go!")
elif menu == 2:
    print("Lets go!")
else:
    print("Quitting...")

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

while 루프. while 문을 하드 코딩 할 수 없습니다.

분류에서Dev

ssh가 while 루프 내의 어떤 호스트에도 연결할 수없는 이유는 무엇입니까?

분류에서Dev

while 루프 내부에 변수 정의

분류에서Dev

while 루프 내부에 할당 된 전역 변수는 루프 외부에서 사용할 수 없습니다.

분류에서Dev

while 루프 외부에서 선언 된 변수는 스칼라의 while 루프 내부에서 액세스 할 수 없습니다.

분류에서Dev

while 루프 내에서 도달 할 수없는 변수?

분류에서Dev

while 루프 및 배열에 관한 내 코드의 문제

분류에서Dev

각도기는 element.all 문 내부의 while 루프 내에서 클릭 동작을 수행 할 수 없습니다.

분류에서Dev

awk 변수는 for 루프 내에서 substr ()에 의해 반환 된 문자 "z"를 연결할 수 없습니다.

분류에서Dev

Knitr 및 부모-자식 R 코드 청크 : 자식 청크는 루프 내에서 부모의 변수를 인식 할 수 없습니다.

분류에서Dev

while 루프 내에서 작동하지 않는 jQuery 코드

분류에서Dev

while 루프 내에서 두 줄을 인쇄하는 코드?

분류에서Dev

이중 연결 목록의 제거 메서드 내부에서 for 루프를 알 수 없습니까?

분류에서Dev

JSTL / JSP에서 루프 내부의 문자열을 어떻게 연결할 수 있습니까?

분류에서Dev

문자열 내부의 while 루프 내에서 함수를 실행합니까?

분류에서Dev

C ++ 함수 내 "연결할 수없는 코드"에 대한 설명

분류에서Dev

내 코드에 연결할 수없는 이유는 무엇입니까?

분류에서Dev

PHP에서 while 루프 내부의 배열에 CSV 파일의 새 항목을 추가 할 수없는 이유는 무엇입니까?

분류에서Dev

while 루프 내부에서 로깅을 호출 할 수 없습니다.

분류에서Dev

Python, 내 코드를 while 루프로 변환하는 데 문제가 있음

분류에서Dev

삽입 정렬의 while 루프에서 문 순서를 변경할 수없는 이유는 무엇입니까?

분류에서Dev

while 루프 내에 변수를 설정할 수 없습니다.

분류에서Dev

PHP : foreach 내부 while 루프는 하나의 결과 만 반환

분류에서Dev

OCaml의 루프 내부에서 변경할 수없는 변수 조작

분류에서Dev

함수 내부에 While 루프 배치

분류에서Dev

함수 내부에 While 루프 배치

분류에서Dev

while 루프 내부의 함수에 타이머 넣기

분류에서Dev

목록 요소 내부에 div가있는 while 루프의 foreach 루프

분류에서Dev

while 루프 내용을 무시하는 프로그램, 루프 내부 메서드에 액세스해야 할 때 충돌

Related 관련 기사

  1. 1

    while 루프. while 문을 하드 코딩 할 수 없습니다.

  2. 2

    ssh가 while 루프 내의 어떤 호스트에도 연결할 수없는 이유는 무엇입니까?

  3. 3

    while 루프 내부에 변수 정의

  4. 4

    while 루프 내부에 할당 된 전역 변수는 루프 외부에서 사용할 수 없습니다.

  5. 5

    while 루프 외부에서 선언 된 변수는 스칼라의 while 루프 내부에서 액세스 할 수 없습니다.

  6. 6

    while 루프 내에서 도달 할 수없는 변수?

  7. 7

    while 루프 및 배열에 관한 내 코드의 문제

  8. 8

    각도기는 element.all 문 내부의 while 루프 내에서 클릭 동작을 수행 할 수 없습니다.

  9. 9

    awk 변수는 for 루프 내에서 substr ()에 의해 반환 된 문자 "z"를 연결할 수 없습니다.

  10. 10

    Knitr 및 부모-자식 R 코드 청크 : 자식 청크는 루프 내에서 부모의 변수를 인식 할 수 없습니다.

  11. 11

    while 루프 내에서 작동하지 않는 jQuery 코드

  12. 12

    while 루프 내에서 두 줄을 인쇄하는 코드?

  13. 13

    이중 연결 목록의 제거 메서드 내부에서 for 루프를 알 수 없습니까?

  14. 14

    JSTL / JSP에서 루프 내부의 문자열을 어떻게 연결할 수 있습니까?

  15. 15

    문자열 내부의 while 루프 내에서 함수를 실행합니까?

  16. 16

    C ++ 함수 내 "연결할 수없는 코드"에 대한 설명

  17. 17

    내 코드에 연결할 수없는 이유는 무엇입니까?

  18. 18

    PHP에서 while 루프 내부의 배열에 CSV 파일의 새 항목을 추가 할 수없는 이유는 무엇입니까?

  19. 19

    while 루프 내부에서 로깅을 호출 할 수 없습니다.

  20. 20

    Python, 내 코드를 while 루프로 변환하는 데 문제가 있음

  21. 21

    삽입 정렬의 while 루프에서 문 순서를 변경할 수없는 이유는 무엇입니까?

  22. 22

    while 루프 내에 변수를 설정할 수 없습니다.

  23. 23

    PHP : foreach 내부 while 루프는 하나의 결과 만 반환

  24. 24

    OCaml의 루프 내부에서 변경할 수없는 변수 조작

  25. 25

    함수 내부에 While 루프 배치

  26. 26

    함수 내부에 While 루프 배치

  27. 27

    while 루프 내부의 함수에 타이머 넣기

  28. 28

    목록 요소 내부에 div가있는 while 루프의 foreach 루프

  29. 29

    while 루프 내용을 무시하는 프로그램, 루프 내부 메서드에 액세스해야 할 때 충돌

뜨겁다태그

보관