나는 통제 된 평가를하고 있습니다. 나는 초보자 일 뿐이므로 파이썬에 대해 많이 모른다.첫 번째 값이 정확하면 한 번 실행되는 루프를 수정하는 방법. 첫 번째 값이 잘못되어 두 번째 값이 맞으면 영원히 계속됩니다.
# defining qualification
def qualification():
print("\nQualification Level") # informs user what is AP + FQ
print('\n"AP" = Apprentice', '\n"FQ" = Fully-Qulaified')
user_qual = input("Enter your Qualification Level")
# error message if any other data is entered
while user_qual not in ("AP", "FQ"):
print("You have entered one or more data wrong!")
print("Please re-enter Qualification Level!")
qualification()
이 코드가 실행될 때마다, 그것은 while 루프까지 좋은 실행 :
나는이 코드를 가지고있다. 올바른 값 (예 : AP 또는 FQ)을 입력하면 코드를 실행 한 다음 while 루프가 실행되지 않습니다. 하지만 잘못된 값을 처음 입력하면 (FQ 또는 AP가 아닌 값) while 루프가 실행되어야하지만 처음 실행 된 후 잘못된 값을 입력 한 후 정확한 값을 입력하면 이브가 실행됩니다. 루프가 루핑을 멈추지 않습니다. 무한 루프가 생성됩니다.
답변을 제공해주십시오. 저는 파이썬으로 프로그래밍 할 때 초보자라는 것을 기억하십시오. 솔루션이 너무 복잡하지 않도록하십시오.
변수가 함수 로컬 변수 "user_qual"이므로 함수에 대한 각 재귀 호출에서이 변수는 고유합니다. 코드에 따르면이 변수는 절대로 변경되지 않습니다. 하지만 여기에서 가장 중요한 질문은 재귀가 필요한 이유입니다. while 루프에서 변수를 업데이트하고 "qualification"에 대한 호출을 user_qual = input ("자격 레벨 입력")으로 바꾸십시오. – Alex