>source

두 조건이 모두 충족 될 때까지 질문을 계속하도록하는 while 루프를 사용하여 파이썬에서 두 숫자 사이에 입력을 시도하고 있지만 코드를 실행할 때 계속 건너 뜁니다.

NumOfStudents=0
while NumOfStudents > 35 and NumOfStudents < 28:
  NumOfStudents = int(input("Please enter the number of students:"))

and가 여기서 작동하지 않는 이유는 무엇이며 대신 무엇을 사용해야합니까?

  • 답변 # 1

    @Jhonny Mop이 지적했듯이 35보다 크고 28보다 작은 숫자는 없습니다. 간단한 해결책은 다음과 같습니다.

    while True:
        NumOfStudents = int(input("Please enter the number of students:"))
        if NumOfStudents > 35:
            continue
        elif NumOfStudents < 28:
            continue
        else:
            break
    
    

    다음을 수행 할 수도 있습니다.

    NumOfStudents = 0
    while NumOfStudents > 35 or NumOfStudents < 28:
        NumOfStudents = int(input("Please enter the number of students:"))
    
    

  • 답변 # 2

    당신의 코드는 의미가 없습니다. 당신은 while 루프에서 35보다 크고 28보다 작아야하는 숫자를 요구하고 있습니다. 그것은 불가능합니다.

    작동하게하려면 while 루프의 조건을 변경해야합니다.

    또한 NumOfStudents 변수를 0으로 초기화하면 while 루프에 들어 가지 않습니다.

    다음과 같이하면 작동 할 수 있습니다.

       NumOfStudents=int(input("Please enter the number of students:"))
        while NumOfStudents < 35 and NumOfStudents > 28:
          NumOfStudents = int(input("Please enter the number of students:"))
    
    

관련 자료

  • 이전 reactjs - CSS 스타일 문자열을 JS 인라인 스타일로 구문 분석하는 함수
  • 다음 javascript - 동기 XMLHttpRequest Strophejs