목록Programing Language/Python (17)
완숙의 블로그
문제 inputdata1.csv 와 inputdata2.csv 를 입력으로 받아서 sample.csv와 같은 형태로 결과를 만드는 프로그램을 작성해라. myFile 클래스를 만들어서 풀이해라. inputdata1.csv ID,Name 20190001,Apple 20190003,Pear 20190002,Orange inputdata2.csv ID,Class1,Class2,Class3 20190003,90,90,98 20190002,45,12,37 20190009,10,10,10 20190001,89,92,35 sample.csv ID,Name,Course 1,Course 2,Course 3,Average 20190001,Apple,89,92,35,72 20190002,Orange,45,12,37,31 20..
Class 클래스는 c++에서 자세히 다뤘으므로, 해당 내용에 대해 파이썬 문법만 알아보도록 하자. __init__, constructor class Student: def __init__(self, givenID, givenName): self.id = givenID self.name = givenName def setId(self, givenID): self.id = givenID def getId(self): return self.id def setName(self, givenName): self.name = givenName def getName(self): return self.name student1 = Student(20190001, "Harry Potter") student2 = Stude..
지금까지 배운 데이터 타입은 정수, 실수, boolean, 문자열, list 였다. 그런데 정수, 실수는 단순한 데이터 타입이므로, 결국 여러 정보를 넣을 수 있는 것은 String, List이다. 그런데 String은 입력할 때에 숫자와 문자를 섞어 넣을 수 있지만, 요소에 접근해 수정할 수 없으므로 우리가 여러 정보를 넣어 처리할 수 있는 것은 리스트가 전부다. 그런데 파이썬은 목적에 맞는 다양한 데이터 타입을 제공한다. Summary Collection Mutable Ordered Duplication Notation Description Empty Collection string no yes yes [ ] "simple string" s = '' or s = "" list yes yes yes [..
컴퓨터를 통한 문제 해결을 위해서 우리는 정수, 실수, 문자열 등을 프로그램 실행중에 만들어서 사용하였다. 하지만 실제 큰 프로그램들은 수시간 수년동안 쌓여진 데이터를 취급하는 목적으로 사용하며, 이 경우 컴퓨터의 전원이 꺼져도 유지되는 디스크의 화일 사용은 필수적이다. 파일 열기, 닫기 Python과 같은 프로그래밍 언어에서는 화일을 열고 닫는 문법을 제공하는데, 연 화일은 반드시 닫아야 한다. 열기만 하고 닫지 않은 화일은 프로그램의 동작시에 작업한 내용이 제대로 반영이 안되거나, 최악의 경우는 화일에 오류가 생겨서 사용이 불가할 수도 있다. Python에서 화일을 여는 문법은 open() 함수이다. 반대로 닫는 문법은 close() 함수이다. file = open('filename.csv&#..
컴퓨터를 통하여 문제를 해결하는 가장 중요한 이유 중에는 계속적으로 반복하는 작업을 컴퓨터가 대신 처리하여 주는 것이다. 이런 기능을 반복문이라고 하며, 대부분의 프로그래밍 언어는 다양한 반복문을 제공한다. for for i in [1,2,3,4,5,6,7,8,9]: print(i, end = " ") >> 1 2 3 4 5 6 7 8 9 range() range(limit): 0에서 limit - 1까지를, 1씩 증가하는 형태의 값으로 돌려 준다. range(start, end): start에서 end까지를, 1씩 증가하는 형태의 값으로 돌려 준다. range(start, end, step): start에서 end까지의 값을 돌려 주는데, 숫자의 증가폭을 step만큼으로 한다. Example print..
지금까지, 정수, 실수 문자열을 다루는 법을 배웠다. 그런데 하나의 값 말고, 여러개를 다룰 필요가 있다면 어떡해야할까? 이런 용도를 위해 python은 리스트를 제공하고 있다. 그리고 특히 서로 다른 타입의 값과 변수 를 함께 다루면서 읽고/쓸 수 있다는 장점을 제공한다. course = ["python", "javascript", "C++", "__reserved__"] print(type(course)) print(type(course[0])) >>> >>> 리스트를 이렇게 선언하고 나서, 리스트 자체의 타입을 출력하면, 리스트로 요소에 접근해서 타입을 출력하면, 스트링이라고 뜬다. 리스트 아이템 이해하기 course = [ "Python", "Javascript", "C++", "__reserve..
프로그램을 개발하다 보면, Python에서 제공하는 연관된 데이터와 함수들을 묶어서 사용하면 좋겠다는 생각을 하게 된다. 모듈처럼 단순하게 하나의 화일에 물리적으로 모아 놓는 개념을 넘어서서, 데이터 값과 함수가 상호 의미적으로 연관되어 있는 의미있는 묶음을 의미한다. 이럴 경우 우리는 Class 라는 개념을 사용하게 된다. Method와 Class 개념 이해하기 지금까지 배운 함수의 형태를 정리해보자. Built-in functions : 파이썬 언어에서 기본 제공하는 함수 Functions inside modules : 모듈에 포함되어 모듈을 import 한후 사용하는 함수 (예: 모듈명.함수명()) Programmer defined functions : 프로그래머가 본인의 프로그램안에서 직접 만들어..
Python은 언어이기에 내장하는 기능들이 대부분의 프로그래머에게 필요한 필수적인 것들을 제공하고 있다. 따라서 특정 분야에서 필수적으로 필요로 하는 기능은, 분야에 제한적이기에 Python 언어에서 기본 내장하기가 어렵다. 이러한 이유로 수많은 프로그래머들은 본인이 풀고자 하는 문제에서 주요한 기능을 직접 만들고 서로 공유하는 접근을 하게 된다. 이게 모듈은 프로그래머들이 직접 유용한 함수 등을 작성하여, 다른 사람 혹은 본인의 프로그램 개발시 활용하고자 하는 일종의 별도 파일이다. 모듈의 타입을 쳐보면, module이라고 뜬다. import math type(math) >>> module 모듈안의 함수 호출하기 math.factorial(3) >>> 6 이렇게 어떤 모듈을 사용하는지, 쓰고 함수명을 ..