파이썬 input 입력이후 if 문 분기 문제

조회수 968회
a=input("무엇을 계산하고 싶으신가요? 1.몰랄 농도 2. PPM농도 3.퍼센트 농도")

if a==1:
                b=input("계산하고 싶은 용액의 농도는 몇kg인가요?")
                c=input("게산하고 싶은 용액의 몰 수는 몇 몰인가요?")
                d=c/b
                print("몰랄 농도는",d,"㏖/㎏입니다.")

elif a==2:
                e=input("계산하고 싶은 용질의 질량은 몇g인가요?")
                f=input("계산하고 싶은 용액의 질량은 몇g인가요?")
                g=e/f*10^6
                print("PPM 농도는",g,"PPM입니다.")

elif a==3:
                h=input("계산하고 싶은 용질의 질량은 몇g인가요?")
                i=input("계산하고 싶은 용액의 질량은 몇g인가요?")
                k=h/i*100
                print("퍼센트 농도는",k,"%입니다")

오류는 나지 않는데 실제로 실행을 하면 첫번쨰 INPUT 문은 뜨는데 1을 입력하면 그 뒤부턴 안뜨네요 혹시 어디가 오류인건지 알려주세요.

2 답변

  • ` #1 a=int(input("무엇을 계산하고 싶으신가요? 1.몰랄 농도 2. PPM농도 3.퍼센트 농도"))

    #2 a = map(int,input("무엇을 계산하고 싶으신가요? 1.몰랄 농도 2. PPM농도 3.퍼센트 농도")) `

    2가지 형태 모두 가능합니다.

    윗분이 설명해주신 것처럼 input()의 반환은 항상 문자열입니다. 따라서 if ,elif, else문에 속해 있는 식들도 int(input()) 또는 float(input())으로 수정되어야 합니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 파이썬 input()의 반환은 항상 문자열이라고 외우시는 게 좋습니다.

    if int(a) == 1 : 하는 식으로 모두 정수형 변환을 해주세요.

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

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

(ಠ_ಠ)
(ಠ‿ಠ)