Lab #4 - 화씨변환기 (fahrenheit_converter) Copyright 2015 document created by TeamLab.Gachon@gmail.com Introduction 4 주차강의 Lab Assignment 입니다. 이번 lab 은더짧고더불친절합니다. 이번랩은이미수업시간에한번다룬화씨변환기를숙제형식에맞게 수정하였습니다. 이번 lab 의가장큰특징은 main 함수마저수강생들이직접작성한다는것입니다. 조금어려워보일수도있으나막상끝나고보 면쉬울것입니다. 이번 lab 에서는개별함수의작성그리고각함수들의연결을연습해봅시다. PDF 파일다운로드 backend.ai 설치 숙제를제출하기앞서, 레블업의 backend.ai 를여러분의파이썬에설치하셔야합니다. 설치하는과정은매우쉽습니다. 아래처럼터미널또는 cmd 창에서입력을하시면됩니다. pip install backend.ai-client 숙제파일 (lab_4.zip) 다운로드 먼저해야할일은숙제파일을다운로드받는것입니다. 이미해보았기때문에어렵지않을것입니다. Chrome 또는익스플로러와같은웹브라우 저주소창에아래주소를입력합니다. https://github.com/teamlab/introduction_to_python_teamlab_mooc/blob/master/lab_assignment/lab_3/lab_4.zip 다운로드를위해 View Raw 또는 Download 버튼을클릭합니다. 또는아래다운로드링크를클릭하면자동으로다운로드가됩니다. Lab 4 - 다운로 드다운로드된 lab_4.zip 파일을작업폴더로이동한후압축해제후작업하길바랍니다. 압축해제하면폴더가 linux_mac 과 windows 로나눠져있 습니다. 자신의 OS 에맞는폴더로이동해서코드를수정해주시기바랍니다. fahrenheit_converter.py 파일 Overview atom 으로 fahrenheit_converter.py 을열어전체적인개요를봅시다. 파일을열어보면아래와같은이파일에기록되어있을것입니다. # -*- coding: utf-8 -*- def main(): print(" 본프로그램은섭씨를화씨로로변환해주는프로그램입니다 ") print("============================") # ===Modify codes below================= # ====================================== print("===========================") print(" 프로그램이종료되었습니다.") if name == ' main ': main() 수강생이할일은크게두가지입니다. 하나는프로그램수행을위해 3 개의함수를작성하는것이고, 두번째는 main 함수에작성된 3 개의함수를 사용해서화씨변환기를돌려보는것입니다. 현재코드는헐렁하지만여러분들이빈공간을채우면됩니다. input_celsius_value 함수작성하기 3 개의함수부터작성해봅시다. 이미함수하나를작성하는것은 lab 3 에서연습해보았기때문에어렵지않을수도있습니다. 아래을참고하
여 input_celsius_value 함수를작성해봅시다. input_celsius_value 없음 " 변환하고싶은섭씨온도를입력해주세요 : " 이라는글자를화면에출력하고, 입력된값을실수로변환해줍니다. 사용자는실수값형태로만입력한다고가정합니다. Float Type 의 celsius_value 함수를작성하고나서잘작동하는지궁금할것입니다. 확인하는방법은두가지가있습니다. 먼저아래처럼기존코드에서 main 함수를주석처 리하고테스트코드를삽입하는방법입니다. fahrenheit_converter.py 파일을 atom 으로열어맨마지막 if name == ' main ': 을아래처럼 수정해봅시다. if name == ' main ': # main() celsius_value = input_celsius_value() print(celsius_ 함수가정상적으로작성된후, cmd 창에서 python fahrenheit_converter.py 을실행하면아래와같은화면을보게될것입니다. 변환하고싶은섭씨온도를입력해주세요 : 15.2 15.2 입력해준값을그대로출력해주는것으로별다른특징은없습니다. 코드자체를수정하여테스트코드를넣는방법도있지만, 기존처럼 python shell 에서테스트하는방법도있습니다. cmd 창에서 python 을입력하여 python shell 을실행시켜서아래와같이테스트해봅시다. >>> fc.input_celsius_value() 변환하고싶은섭씨온도를입력해주세요 :10 10.0 이미 python shell 에서테스트하는방법과 import 문의의미는설명해주었습니다. 더이상의자세한설명은생략합니다. convert_celsius_fahrenheit 함수작성하기 두번째함수입니다. 두번째함수는입력받은 float type 의섭씨값을화씨로변환해주는함수입니다. 함수의은아래와같습니다. convert_celsius_fahrenheit float type 의 celsius_value 섭씨 => 화씨의변환공식에따라섭씨를화씨값으로변환해줍니다. 변환공식은 ((9 / 5) * 섭씨값 ) + 32 입니다. 여기서섭씨값특정한변수명으로변경되야합니다. 기억하세요.
Float Type 의섭씨값이화씨값으로변한된값 테스트코드는이미수업시간다뤄졌지만 python shell 수행시아래와같이나오면정상적으로작성된것입니다. >>> fc.convert_celsius_fahrenheit(32.2) 89.96000000000001 >>> fc.convert_celsius_fahrenheit(50) 122.0 >>> 위에처럼 if name == ' main ': 부분을수정하여테스트코드를만드는일은직접해봅시다. print_fahrenheit_value 함수작성하기 마지막함수입니다. 본함수는출력값이없고입력값의결과를화면에출력해주기만합니다. 함수의은다음과같습니다. print_fahrenheit_value float type 의 celsius_value, float type 의 fahrenheit_value 입력받은 celsius_value 와 fahrenheit_value 를화면상에출력해줍니다. 출력시섭씨온도 :, 화씨온도 : 가포함이되어야합니다. 없음. 이없을경우 return 변수명부분을생략하면됩니다. python shell 에서 test 해보면다음과같이실행됩니다. >>> fc.print_fahrenheit_value(10.3,20.3) 섭씨온도 : 10.3 화씨온도 : 20.3 어떻게보면굉장히간단한함수입니다. 입력받은값을그대로출력만해주면되기때문입니다. 단지섭씨온도와화씨온도등메세지가정확히출 력하도록오타없이입력해주기바랍니다. main 함수수정하기 이제마지막으로할것은각함수들을엮어서우리가원하는화씨변환기프로그램을완성해주는것입니다. 이를위해서는 main 함수의수정이 필요합니다. main 함수에 # ===Modify codes below================= 아랫부분에다음의지시사항에따라코드를작성해주기바랍니다. 1. input_celsius_value 함수를호출하고그결과값을 celsius_value 변수에저장합니다. 2. celsius_value 을 convert_celsius_fahrenheit 함수의입력값으로하여 convert_celsius_fahrenheit 함수를호출하고, 그결과값을 fahrenheit_value 변수에저장합니다. 3. celsius_value 와 fahrenheit_value 을 print_fahrenheit_value 함수의입력값으로하여 print_fahrenheit_value 함수를호출합니다. 굉장히간단하지만용어가익숙치않아헷갈릴수있습니다. 함수는우리가만들어쓰는것도있지만이미파이썬에서제공해주는함수를사용하 는경우도많습니다. 예를들면 print 나 input 같은것들이그런종류의함수입니다. 이런함수들을 built-in 함수라고합니다. 아래코드를봅시 다.
abc = input("what's Your Name? ") print(abc) 위의코드를 main 함수의작성설명방식대로한다면다음과같이적을수있습니다. 1. "What's Your Name? " 을 input 함수의입력값으로하여 input 함수를호출하고, 그결과를 abc 변수에저장합니다. 2. abc 를 print 함수의입력값으로하여 print 함수를호출합니다. 수업시간에설명을잘들었다면, 무리없이이해했을거라봅니다. 문의사항이있으면 Slack 을활용합시다. 결과출력하기 실제코드가다작성되어 python fahrenheit_converter.py 을실행하면아래와같이결과를볼수있을것입니다. 당연히입력부분은수강자가직 접입력을해주어야프로그램진행됩니다. 본프로그램은섭씨를화씨로로변환해주는프로그램입니다 ============================ 변환하고싶은섭씨온도를입력해주세요 : 32.2 섭씨온도 : 32.2 화씨온도 : 89.96000000000001 =========================== 프로그램이종료되었습니다. 숙제 template 파일제출하기 ( 윈도우의경우 ) 1. windows + r 를누르고 cmd 입력후확인을클릭합니다. 2. 작업을수행한폴더로이동합니다. 3. 밑에명령어를 cmd 창에입력합니다. submit.bat [YOUR_HASH_KEY] 숙제 template 파일제출하기 (Mac or Linux) 1. 터미널을구동합니다. 2. 작업을수행한디렉토리로로이동합니다. 3. 밑에 bash 창을입력합니다../submit.sh [YOUR_HASH_KEY] 참고로 lab assignment 제출은진행중간중간해도문제가없습니다. 제대로작성되었다면아래와같은메세지를확인할수있을것이다. Function Name Passed? Feedback print_fahrenheit_value PASS Good Job convert_celsius_fahrenheit PASS Good Job main PASS Good Job input_celsius_value PASS Good Job Next Work lab_4 를모두끝냈습니다. 스스로의끈기와열정을칭찬하고시원한맥주한잔하면서자축하길바랍니다. 처음으로여러분은단순한수정이아닌 스스로의프로그램을만들어보았습니다. 앞으로의모든숙제는이런식으로작성이되니스스로하지않았다면다시한번시도해서완벽히이해하 고넘어가길바랍니다.
Human know ledge belongs to the w orld - from movie 'Passw ord' -