파이썬 초보 while문 질문

조회수 810회
first = input('변환할 온도를 입력하세요: ')

if first[-1] == 'C':
    while first != '.':
        c1 = first[0:-1]
        f1 = float(c1) * 9/5 + 32 
        print('변환한 온도는 %.1fF입니다. ' % f1)
        first = input('변환할 온도를 입력하세요: ')

if first[-1] == 'F':
    while first != '.':
        f2 = first[0:-1]
        c2 = float(f2 - 32) * 5/9
        print('변환한 온도는 %.1fC입니다. ' % c2)
        first = input('변환할 온도를 입력하세요: ')
first = input('변환할 온도를 입력하세요: ')

while first != '.':
    if first[-1] == 'C':
        c1 = first[0:-1]
        f1 = float(c1) * 9/5 + 32 
        print('변환한 온도는 %.1fF입니다. ' % f1)
        first = input('변환할 온도를 입력하세요: ')

    if first[-1] == 'F':
         c1 = first[0:-1]
        c2 = float(f2 - 32) * 5/9
        print('변환한 온도는 %.1fF입니다. ' % f1)
        first = input('변환할 온도를 입력하세요: ')

입력값이 '.'이 나올 때까지 섭씨와 화씨를 서로 변환해주는 프로그램입니다. 2번째 코드처럼 하면 잘 됩니다 일단. 근데 1번째 코드처럼 하면 화씨를 섭씨로 변환할 땐 괜찮은데, 그 이후에 다시 섭씨를 입력하면, 예를 들어 36C를 입력해 96.8F을 반환받은 후 다시 36F를 입력하면 96.8F 이런식으로 나옵니다.. while문 끝나고 다시 반복할 때 while 쓴 라인으로만 돌아가는 건가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 한번 C를 입력하면 . 이 입력 될 때까지 다시 입력한 값이 F든 C든 위쪽 While문만 반복됩니다. 아래쪽 while 구문도 똑 같은 문제가 있고요....

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)