코딩 스쿨에 오신것을 환영합니다~~

질의응답 게시판

 
introduction to 파이썬 179p S4-2 질문 드립니다.
김 * 림 | 2021-09-30

코드를 만들어서 실행했는데 실행결과는 잘 나옵니다.
그런데 코드는 정답과는 다릅니다.

answer="0"

while answer == "0":
    grade=int(input("성적을 입력하세요 :"))
    if grade>=90:
        print("등급: 수")
    elif 80<=grade<90:
        print("등급: 우")
    elif 70<=grade<80:
        print("등급: 미")
    elif 60<=grade<70:
        print("등급: 양")
    else:
        print("등급: 가")
    
    x = input("계속 하시겠습니까?(중단:q 계속:y)")
    if x == "q":
        break

while 의 answer가 0이면 이 반복문이 종료되는데, x의 input 값이 q 이면 break로 나오게 되어있습니다. 그렇다면 애초에 answer값이 중요한건 아닌가요? 그리고 while문의 answer=="0"이고 맨 위의 코드 answer="0"로 설정하면 프로그램이 잘 실행 되는데 서로 다른 값이면 실행이 안됩니다. 저는 answer="0"은 그냥 초기화 한다는 개념으로 넣은 코드인데 말이죠.

  • 관 * 자
  • 2021-09-30 (13:41)
코드 테스트해 볼께요.^^
  • 관 * 자
  • 2021-09-30 (13:56)
다음과 같이 while문 조건식은 True로 하여 무한루프를 돌린다음 x 가 "q"이면 빠져나오게 하셔도 됩니다. 이게 젤 간단하겠네요. 참고해주세요.

score = int(input("성적을 입력하세요 : "))

while True :
    if score >= 90 :
        print("등급 : 수")
    elif score >= 80 :
        print("등급 : 우")
    elif score >= 70 :
        print("등급 : 미")
    elif score >= 60 :
        print("등급 : 양")
    else :
        print("등급 : 가")

    x = input("계속하시겠습니까?(중단:q, 계속:y) ")

    if x == "q" :
        break
        
    score = int(input("성적을 입력하세요 : "))