[파이썬 강좌] #12 사전(Dictionary)

프로그래밍 강좌/Python 2022. 4. 22. 19:17

딕셔너리란 말그대로 사전입니다. 다른언어에선 찾아보기 힘든 파이썬의 독특한 기능(?) 이지요. 사전 = {키1 : 값1, 키2 : 값2, 키3 : 값3} 사전은 이런형태로 사용합니다. 각 키(Key)에 값(Value)가 1:1 대응되는 형식입니다 하나의 키에는 하나의 값만이 대응됩니다. 사전에서 단어를 찾으면 그에 대한 해설이 있는 것을 상상하면 쉽게 이해할 수 있습니다. 또한 Key 값은 절대로 변하지 않으며 Value 값은 변경할 수 있습니다. 그러면 이를 이용해서 간단한 영어 사전을 한번 만들어 보겠습니다. ​ Dictionary = {'exponentially':'기하급수적으로', 'velocity':'속도', 'volume':'용량'} print(Dictionary) >>> {'exponenti..

Article Thumbnail
[파이썬 강좌] #11 람다식(Lambda)

프로그래밍 강좌/Python 2022. 4. 22. 19:04

def Sum(a,b): return a+b lam = lambda a,b: a + b print(Sum(50,50)) print(lam(50,50)) 오늘 글의 시작은 퀴즈입니다. 위 코드의 결과값은 무엇일까요? def Sum(a,b): return a+b lam = lambda a,b: a + b print(Sum(50,50)) print(lam(50,50)) >>> 100 >>> 100 ​답을 알려드리자면 똑같게 100이 출력됩니다. def 경우 저번 시간에 배운 함수를 선언하는 키워드 였죠. a,b를 매개변수 값으로 받아서 a+b를 반환(return) 하는 간단한 합의 함수입니다. 그런데 lambda 라는 새로운 키워드가 보입니다. 아직은 잘 모르지만 a,b : a + b 라는 문장을 보고 유추하..

Article Thumbnail
[파이썬 강좌] #10 함수 사용하기

프로그래밍 강좌/Python 2022. 4. 17. 20:44

수학에서는 일반화를 참 좋아합니다. 위 사진은 수학자 가우스의 사진인데요. 가우스는 다양한 수학 분야에서 아주 광범위한 업적을 남긴 위대한 수학자입니다. 특히 가우스의 일화중에 유명한 것은 선생님이 수업을 조금 쉬기 위해 학생들에게 1~100까지의 합을 구해보라고 숙제를 남긴 뒤 기다리고 있었죠. 한참 뒤에 답을 낼 것이라는 기대와는 다르게 가우스는 이 문제를 몇분만에 뚝딱 해치워 냅니다. 바로 1~100까지 맨 앞과 맨 뒤의 숫자를 더하면 101이라는 값이 나오는데 이걸 또 한칸 뒤로 가서 앞과 뒤를 더하면 101이라는 세트가 또 나오고.. 그렇게 해서 101이라는 수가 총 50개로 1~100까지의 합은 101 x 50 = 5050 이 된다는 것이였습니다. 사실 수학에 있어서 1부터 100까지의 합을 ..

Article Thumbnail
[파이썬 강좌] #9 반복문 사용하기 While편

프로그래밍 강좌/Python 2022. 4. 16. 23:00

저번 시간에 반복문 중 For문이라는 것에 대해 배웠습니다. 이번엔 반복문 중 2번째인 While에 대해 알아보겠습니다. 영어에서 While은 ~~하는 동안이라는 뜻으로 쓰입니다. 프로그래밍에서도 비슷한 맥락으로 이해하실 수 있습니다. 파이썬의 For문이 범위를 지정해주고 그 범위안에서 반복이 돌아갔다면, While문의 경우에는 어떤 조건식이 참일동안만 반복하게 됩니다. 이게 가장 핵심적인 내용이고 While문을 사용할때 햇갈리지 않으려면 진한 글씨의 내용을 숙지해주시는게 좋습니다. 아래에서 예제로 While문의 사용법을 알아보겠습니다. while(조건식): 실행코드1 실행코드2 우선 while의 사용방법을 알아봅시다. 지금까지 for문, if문의 구분방법과 동일하게 :(콜론) 으로 구분을 하고 반복을 ..

Article Thumbnail
[파이썬 강좌] #8 반복문 사용하기 For편

프로그래밍 강좌/Python 2022. 4. 16. 22:39

저번시간에 리스트에 대해 배웠습니다. 그런데 만약 리스트에 1~100까지의 숫자를 넣고 싶은 상황을 생각해봅니다. 지금까지 배운대로면 아래 방법이 최선일 겁니다. lst = [1,2,3,4,5,6,7,8,...,100] 우리가 아는 리스트의 선언 방식으로는 항목에 1~100 까지 모두 입력해야하는 불상사가 생기게 되죠. 이런식으로 컴퓨터적인 처리를 하지 않고 값들을 직접 타이핑 해 그대로 때려 박는 방식을 하드 코딩이라고 합니다. 당연하지만 별로 좋은 방법은 아닙니다. 위 문제 같이 반복적인 형태에 대해선 노가다로 문제를 해결하는게 아닌 반복문을 사용하여 문제를 해결합니다. 파이썬에서 반복문의 종류로는 1. For문 2. While문이 있는데 오늘 알아볼 것은 우선 첫번째 For문 입니다. for 변수 ..

Article Thumbnail
[파이썬 강좌] #7 리스트의 활용

프로그래밍 강좌/Python 2022. 4. 15. 01:52

리스트 아래는 리스트의 사용 형태입니다. 리스트 = ['항목1', '항목2', '항목3', (...)] 리스트라는 말 그대로 여러 항목이 들어있는 형태의 변수입니다. 사실 항목이라는 말보단 요소(element) 라는 말을 더 많이 사용합니다. 글에서 요소라고 하면 리스트 항목을 말하는 것이라고 이해하시면 됩니다. 한 리스트 변수에는 여러 가지 값들을 담아낼 수 있습니다. C언어 및 타언어를 해보신 분들이라면 Array(배열)과 비슷해보이지만 파이썬의 리스트에서는 배열처럼 크기를 꼭 지정해주거나 맞추어서 사용하지 않아도 됩니다. 파이썬의 리스트의 항목(요소)은 원하는대로 삭제, 삽입 할 수 있으며 크기가 동적으로 자동 관리 됩니다. 또한 리스트에는 여러 자료형의 변수를 한번에 저장할 수 있는 장점이 있습니..

Article Thumbnail
[파이썬 강좌] #6 부가 강의 - 주석 처리 및 기타 알아둘 점

프로그래밍 강좌/Python 2022. 4. 15. 01:32

#print('난 표시하지마') print('날 표시해줘') >>> 날 표시해줘 주석 (Comments) 를 사용할때는 #내용 의 형식으로 써주고, #뒤의 내용부분에 뭘 적든 프로그램엔 영향을 끼치지 않습니다. 보통 소스코드를 작성할때 이 소스코드가 어떤 목적을 위해, 어떤 기능을 하는지 메모를 하기 위해 사용합니다. 프로그램 구현에 있어서 초기 A 라는 아이디어를 이용해서 구현을 했는데 추후에 B 라는 더 괜찮은 아이디어가 떠올랐을때, A라는 아이디어는 그대로 메모처럼 남겨두고 B라는 아이디어로 바꾸려면 A라는 아이디어로 작성한 소스코드를 전체적으로 주석처리 한 뒤, 그 아래에 B라는 아이디어를 통해 구현을 해주시면 됩니다. print('동해물과 백두산이 마르고 닳도록') print('하느님이 보우하사..

Article Thumbnail
[파이썬 강좌] #5 조건문(If) 사용하기

프로그래밍 강좌/Python 2022. 4. 14. 23:54

If문 활용하기 우리는 앞에서 텍스트를 입력받는 방법과 출력하는 방법을 배웠습니다. 그런데 숫자를 입력받을때 10이상의 수만 받고싶다면? 이럴때 if문을 사용하게 됩니다. IF는 말그대로 '만약' 이라는 뜻입니다. if (조건식): 실행문 if문은 위와 같이 사용합니다. 조건문의 식이 참(숫자로는 1로 표현)이면 : (콜론) 아래의 실행문을 실행하게 되고 만약에 조건문의 식이 거짓(숫자로는 0으로 표현)이면 저 실행문은 실행하지 않고 그냥 무시하고 넘어가게 됩니다. n = int(input()) if n < 10: print("10 이상의 숫자를 입력해주세요") 앞서 말한대로 10이상의 숫자가 아니면 이렇게 메세지를 출력하게 할 수 있습니다. 코드를 한 줄씩 읽어보면 n에 숫자를 입력받고, if문이 실행..

Article Thumbnail
[파이썬 강좌] #4 변수를 이용해 숫자와 문자열 입력받기

프로그래밍 강좌/Python 2022. 4. 14. 03:42

전 시간에서 우리는 print() 함수를 통해 출력을 해보았는데요. 이렇게 출력만해서는 프로그램으로써의 기능은 무언가 출력하는 거 빼고는 아무런 기능이 없습니다. 2 * 10 이 20인건 알아서 이걸 print(2 * 10) 으로 출력한다고 쳐도 프로그램으로써는, 전광판을 만드는게 아닌 이상 아무런 가치가 없죠. 그런데 만약에 사용자로부터 무언가 입력을 받고 그것에 따라 모종의 처리를 하게 되면 프로그램으로써의 가치가 생기게 됩니다. ex) 반지름을 사용자로부터 입력받고 원의 넓이를 출력하는 프로그램 이번시간에서는 무언가를 입력받고, 그것을 활용하는것을 해봅시다. a = input() print(a) 입력 : Hi Python >>> Hi Python F5로 파이썬 프로그램을 실행하면 커서가 깜빡거립니다..

Article Thumbnail
[파이썬 강좌] #3 숫자와 문자열 출력하기

프로그래밍 강좌/Python 2022. 4. 13. 20:44

일단, C언어나 기타 프로그래밍 언어를 해보신 분들은 알겠지만 프로그래밍의 모든 시작은 무언가를 출력해보는겁니다. 파이썬에선 print() 라는 함수를 이용하여 무언가를 출력합니다. * 함수라는 말이 혼란스러우실 수 있는데 무언가 영어로 내용이 적혀있고 뒤에 중괄호가 있으면 그건 함수라고 생각하시면 됩니다. 나중에 함수에 대해 자세히 배웁니다. ex) print(), sum()... 수학에서 함수와 프로그래밍에서 함수는 조금 다르니 주의 바랍니다. print('안녕 파이썬') 이런식으로 입력해주면.. 맨 밑에 반갑게 안녕 파이썬이 출력됩니다. 참고로 파이썬에서 따옴표를 양쪽에 붙여주는건 그것을 문자열(문자들의 나열)로 보겠다는 의미입니다. 파이썬에선 문자열 처리시 작은따옴표를 사용하건 큰따옴표를 사용하나..

Article Thumbnail
[파이썬 강좌] #2 파이썬 개발환경 구축

프로그래밍 강좌/Python 2022. 4. 13. 20:29

일반적으로 프로그래밍을 위해선 IDE(통합개발환경, Integrated Development Environment) 라는 프로그램을 사용하게 됩니다. 어렵게 생각하지 마시고 그냥 프로그래밍을 할때 필요한 모든게 준비되어 있는 프로그램이라고 보시면 됩니다. 파이썬의 경우에도 파이썬 공식 홈페이지에서 설치를 하게 되면 Python IDLE 라고 파이썬 프로그래밍용 기본 IDE를 제공해주긴 하는데, 솔직히 이게 좀 구립니다. 메모장보다 조금 더 나은 수준이라고 할까요? 어찌됬건 파이썬을 사용할 수 있는 환경이 수도 없이 많아서 선택지가 조금 있는데 대표적으론 Jupyter Notebook, Python IDLE(기본), Visual Studio Code.. 정도가 있겠습니다. 본 강의에선 Visual Stud..

Article Thumbnail
[파이썬 강좌] #1 파이썬 시작하기

프로그래밍 강좌/Python 2022. 4. 13. 20:08

안녕하세요 파일입니다. 제가 추천해드리고 싶은 언어가 있는데 바로 파이썬입니다. 오늘은 파이썬에 대해 알아보고 간략하게나마 이해하는 시간입니다. (코딩은 따로 진행하지 않겠습니다.) * 내용을 읽다가 '함수' 나 모르던 프로그래밍적 내용들이 있으면 대충 아~ 그렇구나 하고 넘어가주시면 됩니다. "요새 대새는 Python 이다" 라는 말을 꽤 들어보셨을 겁니다. 프로그래밍 언어 인기 순위를 구글링 해서 무작위로 가져와 봤는데 보면 Python 이 1,2 위를 다투는 모습을 볼 수 있습니다. 다른 자료들을 찾아봐도 개발자들 내에서 파이썬은 매우 높은 인기를 지녔다는 걸 알 수 있습니다. Why Python? 왜 파이썬이 이렇게 인기가 많을까요? 여러 요인이 있겠지만 개인적으로 생각하기에 파이썬은 매우 쉽습니..

Article Thumbnail
[C언어 강좌] #20 강의를 마치며 ~ (완)

프로그래밍 강좌/C 2022. 1. 29. 14:50

안녕하세요 파일입니다. 본 글은 2019년 호기롭게 시작한 C 프로그래밍 강좌의 후기 편입니다. 글을 너무 게을리 쓴 탓에 2년이 넘는 시간 동안 연재를 했습니다만 이 강의도 일종의 프로젝트였기에 완수한 성취도가 매우 높습니다 ㅎㅎ. 이 부분은 제 개인적인 이야기들이니 강의를 다 보신 분들은 궁금하지 않으면 안 보셔도 됩니다. ~BGM https://www.youtube.com/watch?v=jwJfXVwRYW0 이 강의를 쓰게 된 이유 이 강의를 쓰게 된 이유는 박정민님의 저서인 '열혈강의 C언어 본색' 때문이라고 해도 과언이 아닐까 싶습니다. 컴퓨터를 가지고 노는게 너무 재밌었던 저는 초등학교 6학년 때 나만의 프로그램을 만들고 싶어 프로그래밍 카페를 수소문했고, 프로그래밍의 기초가 C언어라는 말을 ..

Article Thumbnail
[C언어 강좌] #19-2 전처리기와 분할 컴파일

프로그래밍 강좌/C 2022. 1. 28. 21:43

조건부 컴파일 C언어는 다양한 운영체제에서 사용되었기 때문에 각 운영체제가 제공하는 표준 함수나 동작, 라이브러리가 조금씩 다를 수 있습니다. 같은 운영체제를 사용한다고 하더라도 사용하는 컴파일러나 라이브러리에 따라서 일부 함수가 없는 경우가 있을 수도 있구요. 예를 들여서 main.c라는 파일을 만들어서 C로 프로그램을 하나 만들었는데 이게 윈도우에서는 제대로 동작하는데, 리눅스에선 함수들 몇개가 제대로 동작하지 않아서 프로그램이 정상적으로 동작하지 않는 경우를 생각해봅시다. 지금까지 배워본 바로는 별다른 해결방법이 없어서 윈도우 용은 main_window.c 로 만들고 리눅스 용은 main_linux.c 로 파일을 만들어서 해결을 했다고 봅시다. 분명 둘다 기능은 동일하게 추가해야 하는데 함수 몇개때..

Article Thumbnail
[C언어 강좌] #19-1 전처리기와 분할 컴파일

프로그래밍 강좌/C 2022. 1. 26. 21:05

모든 일에는 어떤 행동을 처리하기전에 해야할 일이 있습니다. 예를 들어서 밥을 먹기 위해선 밥상을 차리는 것을 먼저해야합니다. 일상에서 먼저 처리해야 하는 일을 '전처리' 라고 가볍게 표현할 수 있습니다. 밥을 먹는 처리를 위해선 밥상을 차리는 '전처리'를 해야한다는 것입니다. 컴퓨팅 세계에서도 전처리를 해야 할 필요가 있습니다. 이때 전처리기를 나타내는 기호로 '#' 을 사용합니다. 전처리기를 사용하면 여러 개의 파일을 분할해서 컴파일 하는것도 가능합니다. 전처리기 프로그램 작성을 한 후 실행까지 과정은 아래와 같습니다 프로그램 작성 -> (전처리) -> 컴파일 -> 링크 -> 실행 컴파일의 경우 고급언어(프로그래밍 언어)로 작성한 프로그램을 기계어(0과 1)로 바꿔주는 작업이였고, 링크는 이 바꿔준 ..

Article Thumbnail
[C언어 강좌] #18 동적 메모리 할당과 가변 인자

프로그래밍 강좌/C 2022. 1. 25. 01:09

안녕하세요? 파일입니다. 어김없이 또 C언어 학습에 있어 새로운 챕터가 시작되었군요. 이번 챕터와 다음 챕터를 마치게 되면 제 C언어 강좌는 끝을 내게 됩니다. 지금 강의는 31편째지만 이 많은 글들을 제가 작성했다는게 참 대단하고 가슴이 웅장해집니다. 마지막에 가까워졌다는게 느껴지실까요? 오늘은 동적 메모리 할당과 가변 인자에 대해 배워봅시다. 프로그램에서 사용되는 메모리에는 정적 메모리와 동적 메모리가 있습니다. 지금부터 본문에서 사용하는 용어인 메모리는 RAM을 지칭하는 것 입니다. 스택 영역, 데이터 영역 같은 정적 메모리는 메모리가 언제 할당되고 해제될지 그리고 요구되는 메모리의 크기가 컴파일할 때 결정되는 메모리 입니다. 그러나 정적 메모리는 프로그램 실행 시간(런타임) 중에 메모리의 크기를 ..

Article Thumbnail
[C언어 강좌] #17-3 콘솔 입출력과 파일 입출력

프로그래밍 강좌/C 2022. 1. 17. 02:16

안녕하세요 파일입니다. 저번에 이어 파일 입출력을 하는 방법에 대해 계속 알아봅시다! 콘솔 입출력과 파일 입출력편은 오늘이 마지막입니다. 달려보아요~ fread() 함수와 fwrite() 함수 3번째 이야기 하는것이지만 파일은 텍스트 파일과 바이너리 파일로 나누어진다고 했습니다. 지금까지 앞에서 학습한 함수들은 전부 텍스트모드에서 작동합니다. 지금까지 배운 함수들론 순수한 이진파일 (0과 1로만 이루어진)을 적어낼 수 없습니다. 텍스트 모드로 적히기 때문에 텍스트만 적을 수 있죠. 그러나 바이너리로 읽기/쓰기를 할 수 있는 함수를 배우면 달라집니다. $cf ) binary : $ 2진법의 이제 바이너리 파일의 파일 입출력을 지원하는 함수를 다뤄봅시다. 이들에는 fread() 함수와 fwrite() 함수가..

Article Thumbnail
[C언어 강좌] #17-2 콘솔 입출력과 파일 입출력

프로그래밍 강좌/C 2022. 1. 13. 01:02

저번 편에선 파일 출력을 하는 소스를 간단하게 실습해보았고 스트림, 파일스트림에 대한 개념 fopen() 을 통해 파일 스트림을 생성 & 파일을 여는것 등을 알아보았습니다. 오늘은 파일 입출력 과정에서 사용되는 함수에 대해 다뤄보겠습니다. fopen() 함수와 fclose() 함수 먼저 파일을 열고 닫는 fopen() 함수와 fclose() 함수에 대해서 공부해보겠습니다. 아래 표는 fopen 함수의 원형입니다. 함수 원형 설명 #include FILE* fopen(const char * filename, const char * mode) 파일 스트림을 생성하고 파일을 연다 실패 : NULL 반환 fopen() 함수는 함수의 인자로 filename(파일 경로)과 mode(파일 열기 모드)를 전달 받아 파..

Article Thumbnail
[C언어 강좌] #17-1 콘솔 입출력과 파일 입출력

프로그래밍 강좌/C 2022. 1. 8. 23:05

안녕하세요 파일입니다. 오늘은 본격적으로 파일 입출력에 대한 이론과 간단한 예제를 다뤄볼겁니다. 참고로 이번편부터 새롭게 알아야할 개념들이 늘어서 포인터 편처럼 머리가 아파질 수 있습니다.. 개인적인 느낌으로는 포인터의 경우 개념은 알만했는데 응용이 어렵다면 여긴 개념은 어려운데 응용하는건 그리 어렵지 않습니다. C언어에 대한 고지가 얼마 남지 않았으니 조금만 힘내봅시다. 화이팅! 콘솔 콘솔(console)은 본래 대형 컴퓨터 시스템과 연결되어 데이터를 입력하는 장치 또는 입력된 데이터를 처리하여 결과를 출력하는 장치를 의미합니다. 여기서의 콘솔은 키보드나 모니터와 같은 표준 입출력 장치를 의미하며, 콘솔 입출력은 키보드에서 데이터를 입력받고 모니터에 데이터를 출력하는것을 말합니다. 그렇다면 파일 입출력..

Article Thumbnail
[C언어 강좌] #16-2 문자열 표준 함수와 기타 표준 함수

프로그래밍 강좌/C 2022. 1. 4. 00:51

sscanf() 함수와 sprintf() 함수 우리가 지금까지 C언어에서 필수적으로 사용해온 함수로 scanf() 함수와 printf() 함수가 있습니다. 이번에 알아볼 함수는 scanf()와, printf() 함수 이름 앞에 s를 붙인 sscanf() 함수와 sprintf() 함수 입니다. 함수 원형 설명 #include int sscanf(const char * s1, const char * s2, ...) 메모리(문자열)에서 데이터를 입력받음 성공 : 데이터의 개수 반환 #include int sprintf(const char * s1, const char * s2, ...) 메모리(문자열)에 데이터를 출력(저장) 성공 : 문자열의 길이 반환 *위 함수의 인자중에 ...은 함수의 인자가 많이 있을 ..

Article Thumbnail