logo
Search검색어를 포함하는 게시물들이 최신순으로 표시됩니다.
    Table of Contents
    [Python] 연산자 - 연습문제 1~5

    이미지 보기

    [Python] 연산자 - 연습문제 1~5

    • 21.12.31 작성

    • 읽는 데 7

    TOC

    참고 강의

    SWEA 파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법 #7 ~ #11


    연습문제 #1

    문제

    인치(inch)를 센티미터(cm)으로 변환하는 프로그램을 작성하십시오. 이 때 1 인치는 2.54 센티미터입니다.

    입력

    3
    

    출력

    3.00 inch =>  7.62 cm
    

    Sol

    a = int(input())
    print("{0:.2f} inch => {1:.2f} cm".format(a, a*2.54))
    

    소수점 2자리까지 표현되므로 format() 함수와 .2f를 사용하여 부동소수점 숫자형의 소수점 2자리 아래까지 표현해주었다.

    제출결과

    image

    연습문제 #2

    문제

    킬로그램(kg)를 파운드(lb)으로 변환하는 프로그램을 작성하십시오. 이 때 1 킬로그램은 2.2046 파운드입니다.

    입력

    90
    

    출력

    90.00 kg =>  198.41 lb
    

    Sol

    a = int(input())
    print("{0:.2f} kg => {1:.2f} lb".format(a, a*2.2046))
    

    풀이과정은 연습문제 #1 과 같다.

    제출결과

    image

    놀랍게도 출력(90.00 kg => 198.41 lb)의 => 우측에 공백이 2개가 있어서 2번의 fail을 한 뒤, 이상함을 느껴 출력을 살펴보면서 해결했다. 앞으로는 이런 부분들을 잘 살펴야 할 듯 하다.


    연습문제 #3

    문제

    섭씨(℃)를 화씨(℉)로 변환하는 프로그램을 작성하십시오. 이 때 물의 빙점은 화씨 32도이고 비등점은 화씨 212도(표준 기압에서)입니다. 물의 비등점과 빙점 사이에 정확하게 180도 차이가 납니다. 그러므로 화씨 눈금에서의 간격은 물의 빙점과 비등점 사이의 간격의 1/180입니다.

    입력

    28
    

    출력

    28.00 ℃ =>  82.40

    Sol

    a = int(input())
    b = a * (180/100) + 32
    
    print("{0:.2f} ℃ =>  {1:.2f} ℉".format(a, b))
    

    섭씨와 화씨 변환의 과정이 복잡한 관계로 섭씨 온도(input)를 a, 화씨 온도(output)를 b 변수로 두어 format() 내부는 깔끔하게 처리하였다.

    섭씨에서는 물과 비등점 사이를 100등분, 화씨에서는 물과 비등점 사이를 180등분 하였으므로, 기준을 0℃로 잡고 input()의 값을 100으로 나눈 뒤, 180으로 곱하겠다. 이후 이 값의 의의는 화씨 기준 32℉에서 해당 값만큼 더해준다면 화씨 온도가 될 것이다.

    제출결과

    image

    연습문제 #4

    문제

    화씨(℉)를 섭씨(℃)로 변환하는 프로그램을 작성하십시오. 이 때 물의 빙점은 화씨 32도이고 비등점은 화씨 212도(표준 기압에서)입니다. 물의 비등점과 빙점 사이에 정확하게 180도 차이가 납니다. 그러므로 화씨 눈금에서의 간격은 물의 빙점과 비등점 사이의 간격의 1/180입니다.

    입력

    82
    

    출력

    82.00 ℉ =>  27.78

    Sol

    f = int(input())
    c = (f - 32) * (100/180)
    
    print("{0:.2f} ℉ =>  {1:.2f} ℃".format(f, c))
    

    연습문제 #3과 같은 섭씨화씨 문제였다. 다만 연습문제 #3이 섭씨를 화씨로 바꾸는 문제였다면, 이번 문제는 화씨를 섭씨로 바꾸는 문제였기 때문에 연습문제 #3의 역순으로만 풀면 되는 간단한 문제였다.

    변수가 헷갈릴 수 있기 때문에 화씨를 f, 섭씨를 c로 두었고, 입력값 f 에서 32를 뺀 값을 180으로 나누고 100을 곱하면 섭씨 온도 c가 된다.

    format()을 이용해 소수점 자리까지 맞춰주고 출력한다.

    제출결과

    image

    연습문제 #5

    문제

    20% 농도의 소금물 100g과 물 200g을 혼합한 소금물의 농도(%)를 소수점 두 번째 자리까지 구하는 프로그램을 작성하십시오.

    출력

    혼합된 소금물의 농도: 6.67%
    

    Sol

    # 문제 제시
    t_a = 100
    
    t_b = 200
    s_b = 0
    w_b = 200
    
    # (용질의 무게) = (용액의 무게) * (용액의 농도)
    s_a = 100 * (20 / 100)
    
    # 전체 용액의 농도(%) = (전체 용질의 무게) / (전체 용액의 무게)
    ans = ((s_a + s_b) / (t_a + t_b)) * 100
    
    print("혼합된 소금물의 농도: {0:.2f}%".format(ans))
    

    소금물 문제의 경우 아래의 두 공식을 알고 있어야 한다.

    1. (용액의 농도) = (용질의 무게) / (용액의 무게)
    2. (용액의 무게) = (용질의 무게) + (용매의 무게)

    참고로 1번 공식은 % 단위를 쓰므로 이 값에서 100을 곱해주어야 한다.

    용액을 t, 용매(물)를 w, 용질(소금)을 s라고 하였으며, 두 용액을 섞으므로 각각 _a, _b 로 구분하였다.

    사실 이렇게까지 복잡하게 풀어야 하는 문제는 아니지만, 확실하게 정리하고 싶어서 구분해 정리했다.

    제출결과

    image
    profile

    FE Developer 박승훈

    노력하는 자는 즐기는 자를 이길 수 없다