Python 27

[Python] 입출력 : 함수

함수란 무엇인가?함수를 설명하기 전에 믹서를 생각해 보자.  - 우리는 믹서에 과일을 넣는다. 그리고 믹서를 사용해서 과일을 갈아 과일 주스를 만든다.우리가 믹서에 넣은 과일은 '입력', 과일 주스는 '출력(결괏값)"이 된다. 그렇다면 믹서는 무엇일까?믹서는 과일을 입력받아 주스를 출력하는 함수와 같다. 우리가 배우려는 함수가 바로 믹서와 비슷하다.입력값을 가지고 어떤 일을 수행한 후 그 결과물을 내어 놓는 것이 바로 함수가 하는 일이다.우리는 어려서부터 함수에 대해 공부했지만, 함수에 대해 깊이 생각해 본 적은 별로 없을 것이다.예를 들어 y = 2x + 3도 함수이다.하지만 이를 수학 시간에 배운 직선 그래프로만 알고 있을 뿐, 입력값(x)에 따라 출력값(y)이 변하는 함수라는 사실에 대해서는 관심을..

[Python] 제어문 : for문 (조건문)

for 문파이썬의 직관적인 특징을 가장 잘 보여준 것이 바로 for 문이다.while문과 비슷한 반복문인 for 문은 문장 구조가 한눈에 들어온다는 장점이 있다.for 문을 잘 사용하면 프로그래밍이 즐거워질 것이다.for 문의 기본 구조리스트나, 튜플, 문자여르이 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어 수행된다.for 변수 in 리스트(또는 튜플, 문자열): 수행할_문장1 수행할_문장2 ...예제를 통해 for 문 이해하기for 문은 예제를 통해서 살펴보는 것이 가장 알기 쉽다.1. 전형적인 for 문['one', 'two', 'three'] 리스트의 첫 번째 요소인 'one'이 먼저 i 변수에 대입된 후 print(i) 문장을 수행한다.두 번째, 세 번째 리스트의 마지..

[Python] 제어문 : while문 (조건문)

while 문의 기본 구조while 조건문: 수행할_문장1 수행할_문장2 수행할_문장3 ... while 문은 조건문이 참인 동안 while 문에 속한 문장들이 반복해서 수행된다.'열 번 찍어 안 넘어가는 나무 없다.'라는 속담을 파이썬 프로그램으로 만들면 다음과 같다.>>> treeHit = 0>>> while treeHit treeHit = treeHit + 1은 프로그래밍을 할 때 매우 자주 사용하는 기법이다.treeHit 값을 1만큼씩 증가시킬 목적으로 사용하며 treeHit += 1처럼 작성해도 된다.treeHit조건문조건 판단수행하는 문장while문00 참나무를 0번 찍었습니다.반복11  참나무를 1번 찍었습니다.반복22  참나무를 2번 찍었습니다.반복33  참나무를 3번..

[Python] 제어문 : if문 (조건문)

if 문은 왜 필요할까?'돈이 있으면 택시를 타고 가고, 돈이 없으면 걸어간다.'프로그래밍도 사람이 하는 것이므로 위 문장처럼 주어진 조건을 판단한 후 그 상황에 맞게 처리해야 할 경우가 생긴다.이렇듯 프로그래밍에서 조건을 판단하여 해당 조건에 맞는 상황을 수행하는 데 쓰는 것이 바로 if 문이다. # money에 true를 대입했으므로 money는 참이다.# 따라서 if 문 다음 문장이 수행된다.>>> money = True>>> if money:... print("택시를 타고 가라")... else:... print("걸어 가라")...택시를 타고 가라 위 코드가 실행된고 "택시를 타고 가라" 라는 문장이 출력되는 과정을 아래 순서도가 보여준다.이렇게 프로그램 실행 과정을 순서도로 그려..

[Python] 기초 : 변수 (자료형의 값을 저장하는 공간)

변수프로그래밍 초보자가 쉽게 이해하기 어려울 수 있는 부분이므로 당장 이해되지 않는다면 그냥 읽고 지나가도 된다. 파이썬에 대해서 공부하다보면 자연스럽게 알게 될 것이다.변수는 어떻게 만들까?# 다음 예와 같은 a, b, c를 '변술'라고 한다.>>> a = 1>>> b = "python">>> c = [1, 2, 3]# 변수를 만들 때는 위 예처럼 =(assignment) 기호를 사용한다.변수_이름 = 변수에_저장할_값# 다른 프로그래밍 언어 C나 JAVA에서는 변수를 만들 때 자료형의 타입을 직접 지정해야 한다.# 하지만 파이썬은 변수에 저장된 값을 스스로 판단하여 자료형의 타입을 지정하기 때문에 더 편리하다.변수란?파이썬에서 사용하는 변수는 객체를 가리키는 것이라고도 말할 수 있다.객체란 우리가 지..

[Python] 자료형 : 불(Bool)

불 (bool)불 자료형이란 참(True)과 거짓(False)을 나타내는 자료형이다.불 자료형은 다음 2가지 값만을 가질 수 있다.True : 참을 의미한다.False : 거짓을 의미한다.True나 False는 파이썬의 예약어로true, false와 같이 작성하면 안 되고 첫 문자를 항상 대문자로 작성해야 한다. 불 자료형은 어떻게 사용할까?>>> a = True>>> b = False# 따옴표로 감싸지 않은 문자열을 변수에 지정해서 오류가 발생할 것 같지만, 잘 실행된다.# type 함수를 변수 a와 b에 사용하면 두 변수의 자료형이 bool로 지정된 것을 확인할 수 있다.>>> type(a)>>> type(b)type(x)는 x의 자료형을 확인하는 파이썬의 내장 함수이다. 불 자료형은 조건문의 리턴값..

[Python] 자료형 : 집합(Set)

집합 (set)집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.집합 자료형은 어떻게 만들까?# 집합 자료형은 다음과 같이 set 키워드를 사용해 만들 수 있다.>>> s1 = set([1, 2, 3])>>> s1{1, 2, 3}# 위와 같이 set()의 괄호 안에 리스트를 입력하여 만들거나 다음과 같이 문자열을 입력하여 만들 수도 있다.>>> s2 = set("Hello")>>> s2{'e', 'H', 'l', 'o'}비어 있는 집합 자료형은 s = set()로 만들 수 있다. 집합 자료형의 특징위에 set("Hello")의 결과가 좀 이상하지 않은가?l 문자 하나 바쪄 있고, 순서도 뒤죽박죽이다. 그 이유는 set에 다음과 같은 2가지 특징 때문이다.중복을 허용하지 않는다.순서가 없다.(Unor..

[Python] 자료형 : 딕셔너리(Dictionary)

딕셔너리 (dictionary)딕셔너리란?단어 그대로 '사전'이라는 뜻이다.즉, 'people' 이라는 단어에 '사람', 'baseball'이라는 단어에 '야구'라는 뜻이 부합되듯이딕셔너리는 Key와 Value를 한 쌍으로 가지는 자료형이다.예컨대 Key가 'baseball'이라면 Value는 '야구'가 될 것이다. 딕셔너리는 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 구하지 않고 Key를 통해 Value를 얻는다.이것이 바로 딕셔너리의 가장 큰 특징이다.baseball이라는 단어의 뜻을 찾기 위해 사전의 내용을 순차적으로 모두 검색하는 것이 아니라 baseball이라는 단어가 있는 곳만 펼쳐 보는 것이다. 딕셔너리는 어떻게 만들까?딕셔너리 기본 모습{Key1: Value1, Key..

[Python] 자료형 : 튜플(Tuple)

튜플(Tuple)튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하며, 다른 점은 아래와 같다.리스트는 [], 튜플은 ()으로 둘러싼다.리스트는 요솟값의 생성, 삭제, 수정이 가능하지만, 튜플은 요솟값을 바꿀 수 없다.튜플은 어떻게 만들까?t1 = ()t2 = (1,) # 단지 1개의 요소만을 가질 때는 요소 뒤에 쉼표(,)를 반드시 붙여햐 한다.t3 = (1, 2, 3)t4 = 1, 2, 3 # () 소괄호를 생략해도 된다는 점이다.t5 = ('a', 'b', ('ab', 'cd'))얼핏 보면 튜플과 리스트는 비슷한 역할을 하지만,프로그래밍을 할 때 튜플과 리스트는 구별해서 사용하는 것이 유리하다.튜플과 리스트의 가장 큰 차이는 요솟값을 변화시킬 수 있는지의 여부이다.즉, 리스트의 요솟값은..

[Python] 자료형 : 리스트(List)

리스트 (list)1부터 10까지의 숫자 중 홀수의 모임인 1,3,5,7,9의 집합을 생각해보자.이런 숫자의 모음을 숫자나 문자열로 표현하기는 어렵다.파이썬에는 이러한 불편함을 해소할 수 있는 자료형이 존재하는데, 바로 리스트(list)이다.리스트는 어떻게 만들고 사용할까?# 리스트를 사용하면 1, 3, 5, 7, 9의 숫자 모음을 다음과 같이 간단하게 표현할 수 있다.>>> odd = [1, 3, 5, 7, 9]# 리스트를 만들 때는 위에서 보는 것과 같이 대괄호([])로 감싸 주고 각 요솟값은 쉼표(,)로 구분해 준다.리스트명 = [요소1, 요소2, 요소3, ...]# 여러가지 리스트의 생김새는 다음과 같다.>>> a = [] # 비어 있는 리스트>>> b = [1, 2, 3] # 숫자를 요솟값으로>..