목록개인공부(WEB, Python, DB)/Python (176)
ChainSmoker’s Block
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IgaHM/btrVK03YC96/ib3FKrVdKQlki0fMFcANQK/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================매개변수와 인수 : 매개변수와 인수는 혼용해서 사용되는 헷갈리는 용어이다. 잘 기억해두고, 차이점도 기억바란다. 함수에서 입력으로 전달된 값을 받는 변수를 매개변수라고 하며, 함수를 호출할 때 전달하는 입력값을 인수라 말한다. *같은 의미를 가진 여러 가지 용어들에 주의하도록 하자.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zYe8v/btrVDjjb4iT/3PI0eow2huvBFZPPJfBlvK/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================파이썬 함수의 구조 : 파이썬 함수의 구조는 아래와 같이 def함수(예약어)를 사용하여 구조된다. { def 함수 이름(매개변수): 수행할 문장1 수행할 문장2 ...} 함수 이름은 함수를 만드는 사람이 임의로 만들 수 있다. 함수 이름 뒤 괄호 안의 매개변수는 이 함수에 입력으로 전달되는 값을 받는 변수이다. 함수를 이렇게 정의한 다음 if, while, for문 등과 마찬가지로 함수에서 수행할 문장을 입력한다. 간단하지만 많은 것을 설명해주는 예시를 아래에 배치하였다. 살펴보자. 풀이는 이렇다. -> '이 함수의 이름(함수 이름)은 add이고 입력으로 2개의 값을 받으며 결괏값은 2개의 입력값을 더한..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c2Oilh/btrVBoyili3/CChB8oREmAc6vuakgakPKK/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================함수를 사용하는 이유는 무엇일까? : 프로그래밍을 하다 보면 똑같은 내용을 반복하여 작성하는 자신을 발견할 때가 종종 있다. 이때가 바로 함수가 필요한 때이다. 즉, 반복되는 부분이 있을 경우 ' 반복적으로 사용되는 가치있는 부분'을 한 뭉치로 묶어서 '어떤 입력값을 주었을 때 어떤 결괏값을 돌려준다'라는 식의 함수로 작성하는 것이 현명하다. 함수를 사용하는 또 다른 이유는 자신이 만든 프로그램을 함수화하면 프로그램 흐름을 일목요연하게 볼 수 있기 때문이다. 프로그램의 흐름도 잘 파악할 수 있고 오류가 어디에서 나는 지도 바로 알아차릴 수 있다. 함수를 잘 사용하고 함수를 적절하게 만들 줄 아는 사람이 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pHG3W/btrVAKnIhOw/KmjNCm1vrP1Ak4SOr4i0j0/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 : 함수를 설명하기 전에 믹서기를 생각해보자. 우리는 믹서기에 과일을 넣는다. 그리고 믹서기를 사용하여 과일을 갈아 과일주스를 만든다. 우리가 믹서기에 넣는 과일은 '입력'이 되고, 과일 주스는 '출력(결과값)'이 된다. 그렇다면 믹서기는 무엇일까? 우리가 배우려는 함수가 바로 믹서기와 비슷하다. 입력값을 가지고 어떤 일을 수행한 다음, 그 결과물을 내어 놓는 것, 이것이 바로 함수가 하는 일이다. 우리는 어려서부터 함수에 대해 공부했었지만 함수에 관하여 깊이 생각해본 적은 별로 없을 것이다. EX) y = 2x + 3도 함수이다. 하지만 이를 수학시간에 배운 직선 그래프로만 알고 있지 x에 어떤 값을 넣었을 때 어떤 변화에 의해서 y값..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bly8ax/btrVAK83FZg/stPlcerMixABsfOkSsqy80/img.png)
[03. 프로그램의 구조를 쌓는다! 제어문] -3. for문 ===================리스트 내포 사용하기 : 3_10에 이어 설명. 조금 복잡할 수 있지만 for문을 2개 이상 사용하는 것도 가능하다. for문을 여러 개 사용할 때의 문법은 이렇다. '[표현식 for 항목1 in 반복 가능 객체1 if 조건1 for 항목2 in 반복 가능 객체2 if 조건2 for 항목3 in 반복 가능 객체3 if 조건3 ... for 항목n in 반복 가능 객체n if 조건n] 만약 구구단의 모든 결과를 리스트[]에 담고 싶은 경우, 리스트 내포(List comprehension)를 사용하여 예시와 같이 간단하게 구현 가능하다. 여기까지 배워본 내용은 프로그램의 흐름을 제어하는 if문, while문, fo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/PX4qL/btrVzVwt625/doQrYTg0qDTLlxrG27bVo0/img.png)
[03. 프로그램의 구조를 쌓는다! 제어문] -3. for문 ===================리스트 내포 사용하기 : 3_9에 이어 설명. 만약 리스트 a = [1, 2, 3, 4]중에서 짝수만 3을 곱하여 res에 담아두고 싶다면 아래 예시와 같이 리스트 내포(Lis comprehension)안에 'if 조건'을 사용할 수 있다. 리스트 내포(Lis comprehension)의 일반 문법은 다음과 같이 '[표현식 for 항목 in 반복 가능 객체 if 조건]'이다. 'if 조건'부분은 앞의 예제와 같이 생략이 가능하다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cqjWm5/btrVAurJYDt/A7nQdKM4YiGsOgjqRq8Je1/img.png)
[03. 프로그램의 구조를 쌓는다! 제어문] -3. for문 ===================리스트 내포 사용하기 : 리시트 안에 for문을 포함하는 리스트 내포(List comprehension)를 사용하면 좀 더 편리하고 직관적인 프로그램을 만들 수 있다. 아래 예시를 보자. 위 예시는 a리스트의 각 항목에 3을 곱한 결과를 res리스트에 담는 예제이다. 이를 리스트 내포(List comprehension)를 사용하면 아래 예시와 같이 간단하게 해결이 가능하다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bC0ndy/btrVwfhoLja/zvEp1e5VWUBPY9yeeBLPVk/img.png)
[03. 프로그램의 구조를 쌓는다! 제어문] -3. for문 ===================for문과 함께 자주 사용하는 range 함수 : 3_7에 이어 설명. 따라서 i가 2일 때 21, 22, 23, ..., 29까지 차례로 수행되며 그 값을 출력하게 된다. 다음으로 i가 3일 때 역시 2일 때와 마찬가지로 수행될 것이고 i가 9일 때까지 계속 반복된다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dj58Np/btrVwf9wLB0/wskrYEJkomG0GA0Ba3W7i1/img.png)
[03. 프로그램의 구조를 쌓는다! 제어문] -3. for문 ===================for문과 함께 자주 사용하는 range 함수 : -for와 range를 사용한 구구단 for와 range함수를 사용하면 소스코드 단 4줄만으로도 구구단 출력이 가능하다. 들여쓰기에 주의하자. 위 예시를 보면 for문이 두 번 사용되었다. for문에서 2부터 9까지(range(2, 10):)의 숫자가 i로 대입된다. 다음 for문에서 1부터 9까지(range(1, 10):)의 숫자가 j로 대입된다. 다음 문장인 print(i*j)를 수행시킨다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bj78Tq/btrVcNkKlog/tInhWSpSJcIqwlDRUkxCIK/img.png)
[03. 프로그램의 구조를 쌓는다! 제어문] -3. for문 ===================for문과 함께 자주 사용하는 range 함수 : -range 함수의 예시 살펴보기 for와 range함수를 사용하면 1부터 10까지 더하는 것을 아래 예시와 같이 구현할 수 있다. range(1, 11)은 숫자 1부터 10까지(1이상 11미만)의 숫자를 데이터로 갖는 객체이다. 따라서 위 예에서 i변수에 리스트의 숫자가 1부터 10까지 하나씩 차례로 대입되면서 add = add + i문장을 반복적 수행, add는 55에서 멈춰 출력된다. 또한 우리가 앞에서 살펴본 '60점 이상이면 합격'이라는 문장을 출력하는 예제를 range함수를 사용해서 바꿀 수 있다. 아래 예시이다. len함수는 리스트 내의 요소 개수를..