Python Cook Book(완)

JIMIN·2023년 4월 4일
post-thumbnail

변수와 출력함수

print는 파이썬에서 값을 출력할 때 가장 많이 사용되는 함수이다.
이 함수를 통해 매우 간단하게 값을 출력할 수 있다.
또한, 출력 후 자동으로 줄바꿈을 진행한다.

사용 형태

print(출력하려는 데이터) --> 하나의 데이터를 출력할 때 사용
print(데이터1, 데이터2) --> 여러 데이터를 출력할 때 사용 (comma를 통해 구분)

예시

print(10)//결과 : 10
print(10, 20)//결과 : 10 20



기본 사칙 연산

연산자설명사용 예시출력 결과
+덧셈print(20 + 10)30
-뺄셈print(20 - 10)10
*곱셈print(20 * 10)200
/나눗셈print(20 / 10)2.0 (나눗셈의 결과는 실수 형태로 출력)
//나눗셈의 몫print(20 // 10)2
%나눗셈의 나머지print(15 % 10)5



변수

변수는 메모리 공간에 붙여진 이름이다.

변수가 가진 3가지 요소

자료형, 변수명, 변수값

변수는 위 3가지 요소와 함께 생성되는 특징이 있다.

변수 선언 방법

python은 다른 언어들과 달리 자료형을 직접 작성하지 않는다.
변수에 저장되는 데이터에 올바른 자료형이 지정된다.

변수명 = 변수값

위처럼 매우 직관적으로 선언이 가능하다.

예시

a = 5
b = 5.5
print(type(a)) 
print(type(b))

위 코드를 실행시키면,

<class 'int'>
<class 'float'>

가 출력된다.
a에는 정수 5를, b에는 실수 5.5를 저장했기에,
이를 판단하여 올바른 자료형이 지정된 것이다.

예시2

a,b = 10,20

위와 같이 동일한 자료형의 변수를 여러 개 만들 때는 한 줄로 표현할 수 있다.

예시3

a = "Hi"
b = "My Name is"
c = "Jimin"
s = a+b+c
print(s) //결과 : HiMy Name isJimin

위처럼 따옴표를 통해 저장된 변수는 문자열이 된다.
또한, +기호를 통해서 같은 자료형의 데이터를 연결할 수 있다.




알아두면 좋은 것들

print("I love\nPython!")

위처럼 문자열에 \n을 삽입하면 줄바꿈을 할 수 있다.

print("\"나는 사랑한다 파이썬\"")

위처럼 \기호 뒤에 "이나 '를 써서 따옴표 자체를 출력할 수 있다.




입력함수

입력 함수 input()

input()은 파이썬에서 사용되는 가장 기본적인 입력 함수이다.
이 함수는 사용자가 콘솔에 입력하는 값을 변수에 저장한다.
어떤 값을 입력하던지, 문자열로 값이 저장되는 특징이 있다.

사용 형태

변수 = input(입력받을 때 출력할 문자)
입력받을 때 출력할 문자는 생략 가능

예시

a = input("값을 입력하세요 : ")
print(a)

위 코드에서 만약 10을 입력한다면,
10이 문자열로 그대로 출력된다.
예시2

a = input("첫 번째 숫자 입력 : ")
b = input("두 번째 숫자 입력 : ")
print("두 수를 더한 결과 : ",a+b)

위 코드는 두 수를 입력받아서 a와 b에 저장하고
두 수를 더한 결과를 출력하는 코드이다.
하지만 5와 6을 더한 11이 출력되는게 아닌
56이라는 문자열이 출력된다.
56이 출력되는 이유는 5와 6은 각각 문자로써 변수에 저장되어있기 때문이다.

이런 문제를 해결하기 위해서,
input()으로 입력받은 뒤에, 올바른 자료형으로 변환을 해주어야 한다.

a = int(input()) //a에 정수를 입력받고 저장

위 코드는 input()으로 문자를 입력받은 뒤, 이를 int()로 감싸서
변수 a에 정수형으로 저장
하는 코드이다.
int 자료형 외에도 float 등 다른 자료형으로도 변환이 가능하다.

예시

a = int(input("정수를 입력하세요 : ")
b = float(input("실수를 입력하세요 : ")
print("두 수를 더한 결과 : ",a+b)

위처럼 input()을 원하는 자료형으로 감싸주면,
의도한 결과처럼 두 수의 합을 정상적으로 출력
할 수 있다.




split() 함수

split() 함수는 문자열을 공백 기준으로 나누어서 리스트로 변환하는 함수이다.
()안에 다른 문자를 넣으면, 해당 문자를 기준으로 나누어서 변환한다.

사용 형태

input().split() //공백을 기준으로 나누어 리스트 생성
input().split(",") //쉼표를 기준으로 나누어 리스트 생성

위 처럼 input() 뒤에 .split()을 붙인 뒤에 split의 괄호 안에
리스트를 생성할 때 나눌 기호를 삽입
해서 사용한다.




map 함수

split()함수는 무조건 리스트 자료형으로 저장되기 때문에
map함수를 통해서 리스트의 모든 값을 지정한 자료형으로 바꿔줘야 한다.

사용 형태

map(바꾸려는 자료형, 자료형을 바꾸려는 리스트)
a,b = map(int, ['5','6']) //리스트 ['a', 'b']를 int형으로 바꾸어 a,b에 저장
a,b = map(int, input().split(" ")) //입력받은 리스트를 int형으로 바꾸어 a,b에 저장

위처럼 split() 함수를 통해서 리스트로 바뀐 데이터를
map() 함수를 사용하여 지정한 자료형으로 변경하여 저장할 수 있다.




기타 출력문

sep함수
print() 함수의 인자로 sep함수를 추가로 전달하는 것을 통해
여러 데이터를 출력할 때 지정 문자로 구분하여 출력되도록 만들 수 있다.
예시

print(a,b,sep="and") //a,b 변수에 저장된 값을 "and"로 구분하여 출력

end함수
print() 함수가 끝날 때, 줄바꿈이 아닌 다른 문자를 출력하도록 만들 수 있다.
예시

print("선린인터넷고등학교", end=" ")
print("정보보호과") //두 문자열을 공백으로 구분하여 출력



연산자

수식연산자

아래의 연산자들은 두 개의 피연산자를 요구하는 가장 기본적인 이항 연산자이다.

연산자 종류기능사용 가능한 자료형
+두 값을 더함정수, 실수, 복소수, 문자
-왼쪽 값에서 오른쪽 값을 뺌정수, 실수, 복소수
*두 값을 곱함정수, 실수, 복소수
/왼쪽 값을 오른쪽 값으로 나눔정수, 실수, 복소수
%왼쪽 값을 오른쪽 값으로 나눈 나머지를 반환함정수, 실수

아래 연산자는 기본 연산자를 두 번 써서 다른 기능을 하도록 하는 연산자이다.

연산자 종류기능사용 가능한 자료형
**왼쪽 값을 오른쪽 값만큼 제곱함정수, 실수, 복소수
//왼쪽 값을 오른쪽 값으로 나눈 몫을 반환함정수, 실수

문자 자료형을 제외한 나머지 자료형은 섞어서 사용해도 연산이 가능하다.




논리 연산자

논리 연산자는 각각 합집합, 교집합, 차집합과 비슷하게 작동한다.

연산자 종류기능설명
and두 값이 모두 True일 때만 True를 반환True and True = True , True and False = False
or두 값 중 하나라도 True이면 True를 반환True and True = True , True and False = True
notFalse이면 True, True이면 False를 반환not True = False , not False = True

논리 연산자들은 주로 조건문에서 사용된다.




관계 연산자

관계 연산자는 두 값의 크고 작음을 비교하는 연산자이다.

연산자 종류기능
==두 값이 같은지 비교
!=두 값이 다른지 비교
<오른쪽 값이 왼쪽 값보다 더 큰지 비교
<=오른쪽 값이 왼쪽 값보다 더 크거나 같은지 비교
>왼쪽 값이 오른쪽 값보다 더 큰지 비교
>=왼쪽 값이 오른쪽 값보다 더 크거나 같은지 비교

비교의 결과가 참일 때 True, 참이 아닐 때 False를 반환한다.
논리 연산자와 함께 조건문에서 많이 사용된다.




자료형

문자열

문자열 자료형

문자열은 따옴표로 감싸져서 저장되는 문자들의 묶음을 의미한다.
문자열은 한번 지정해준 후 임의로 수정이 불가능한 자료형이다.
주의 : 숫자가 들어가더라도 문자로 저장된다.

사용 형태

문자열 이름 = "문자열 내용"
문자열 이름 = '문자열 내용' //큰따옴표와 작은따옴표 모두 허용

문자열 이름 = """문자열 "내용"입니다"""
//따옴표 세 개로 묶는 경우에는 문자열 내용에 따옴표 사용 가능

문자열 이름 = """문자열
내용
입니다"""

//따옴표 세 개로 묶는 경우에는 위처럼 줄바꿈 포함이 가능

문자열 이름 = "문자열\"내용\"\n입니다" //이스케이프 시퀀스를 통한 표현도 가능

예시

str1 = "I love python"
str2 = """I 'love' python""" 
str3 = """I love
python"""
str4 = "I \"love\" python "
str5 = "I\n love\n python"
print(str1) //I love python 출력
print(str2) //I 'love' python 출력
print(str3) //I love
python 출력
print(str4) //I "love" python 출력
print(str5) //I
love
python 출력

이스케이프 시퀀스 종류

이스케이프 시퀀스출력 내용
\\백슬래시
\'작은 따옴표
\"큰 따옴표
\n개행(엔터)
\b백스페이스(글자 지움)
\t

문자열 연산

문자열에서는 덧셈과 곱셈 연산이 가능하다.

예시

str1 = "2학년 "
str2 = "2반 "
str3 = "15번"
print(str1+str2+str3) //2학년 215번 출력
print(str1 * 3) //2학년 2학년 2학년 출력

위의 예시처럼 덧셈은 문자열을 붙여서 출력하는 것이고
곱셈은 곱해준 수 만큼 문자열을 반복해서 출력하는 것이다.




인덱싱

문자열은 문자열 구성요소의 문자 하나하나에 번호를 매겨서 하나씩 접근이 가능하다.
"SUNRIN" 이라는 문자열이 존재한다면 "S"에는 0, "U"에는 1, "N"에는 2... 가 계속 이어져서
모든 요소에 인덱스 번호가 주어진다.
문자열의 한 인덱스에 접근하기 위해서는 문자열이름[인덱스번호] 의 형태로 접근한다.
이를 파이썬에서는 인덱싱이라고 부른다.

예시1

str1 = "python"
print(str1[0]) //p 출력
print(str1[1], str1[2]) //y t 출력

그리고, 문자열의 요소를 뒤에서부터 접근하는 것 또한 가능하다.
이때는 맨 뒤 문자의 인덱스 번호를 -1로, 그 앞은 -2로 지정하여서 사용한다.

예시2

str1 = "python"
print(str1[-1]) //n 출력
print(str1[-4], str1[-3]) //t h 출력



슬라이싱

앞에서 다룬 인덱싱은 하나의 요소에 접근이 가능했다면,
슬라이싱범위를 지정하여 여러 문자를 지정할 수 있다.
먼저, 각 문자에 인덱스 번호는 인덱싱에서 다룬 것처럼 0부터 지정된다.

사용 형태

문자열이름[시작문자의 인덱스번호:마지막으로 가져올 문자 다음의 인덱스번호]
//콜론 기호로 구분하여 시작과 끝을 나타낸다.

예시

str1 = "python"
print(str1[0:3]) //pyt 출력
print(str1[:4]) //pyth 출력
print(str1[3:]) //hon 출력
//처음부터 출력하거나 마지막까지 출력할 때는 숫자 생략 가능



문자열 포매팅

문자열 포매팅은 매우 다양한 방법으로 이루어 질 수 있다.
문자열 포매팅을 알아보기 전에, 포맷 코드를 먼저 알고가야한다.

포맷 코드설명
%s문자열
%c문자 1개
%d정수
%f실수/부동 소수
%x16진수
%%%자체

위 6가지 포맷 코드가 주로 사용된다.

1. 기본 포매팅
먼저 가장 기본적인 포매팅 방법이다.
c언어와 매우 유사한 형태를 가지고 있다.

print("포맷코드1 포맷코드2" %(변수1, 변수2))
//%()로 감싸져 있는 변수들이 포맷코드에 순서대로 들어간다.

예시

name = "Jimin"
age = 18
print("이름 : % s 나이 : %d" %(name,age))
//이름 : Jimin 나이 : 18 출력

장점 : 포맷코드를 사용하기 때문에 소수점 몇 번째까지 출력하는지 등 부가 요소를 결정할 수 있음


2. 인덱스 값 포매팅
이는 format함수를 통해서, 미리 지정해둔 변수들에 인덱스 값을 지정해서
그 값을 통해 출력을 하는 방식이다.

print("{인덱스번호} {인덱스번호}"format(변수1, 변수2))
//format함수에 작성한 변수들에 순서대로 인덱스 번호를 지정하고 이를 통해 출력

예시

name = "Jimin"
age = 18
print("이름 : {0} 나이 : {1}".format(name,age))
//이름 : Jimin 나이 : 18 출력

장점 : 사용할 변수를 한 번만 써도 여러번 참조가 가능함


3. f 문자열 포매팅
매우 간단한 포매팅 방식이다.
따옴표 앞에 f를 붙이고, 중괄호로 묶인 변수를 중간에 넣어서 출력을 진행한다.

print(f"{변수1} {변수2}")
//출력하고자 하는 변수의 이름을 적어줌

예시

name = "Jimin"
age = 18
print(f"이름 : {name} 나이 : {age}")
//이름 : Jimin 나이 : 18 출력

장점 : 가장 직관적이고, 코드의 길이가 짧음




문자열 함수

파이썬에서는 문자열을 쉽게 다루기 위한 다양한 함수들을 제공하고있다.

리스트

리스트 자료형

리스트는 자료형에 상관없이 여러가지 데이터들을 한번에 묶어서 저장할 수 있는 자료형이다.
리스트 안에 리스트를 요소로 저장하는 것 또한 가능하다.
또한 함수를 통해 수정이 가능하다.

사용 형태

리스트 이름 = [요소1,요소2,...] //대괄호 안에 데이터들을 나열

리스트이름 = list() //비어있는 리스트를 선언

예시

num = [1, 2, 3, 4, 5]
//정수형 데이터들을 저장

brand = ['nike', 'adidas', 'newbalance', 'asics']
//문자열 데이터들을 저장

v = [1, 2, 3, 'A', 'B', 'C']
//여러가지 자료형의 데이터들을 한번에 저장

listinlist = [[1, 2, 3, 4, 5], num, brand, 1, 2, 'abc'] 
//리스트 안에 리스트를 저장, 변수 또한 저장가능

print(num)
//[1, 2, 3, 4, 5] 출력, 대괄호가 포함되어서 출력됨

리스트 연산

리스트는 덧셈과 곱셈 연산이 가능하다.
덧셈여러 리스트를 그대로 합치는 역할을 한다.
곱셈리스트를 곱한 숫자만큼 반복하여 새로운 리스트를 만드는 역할을 한다.
주의 : 순서는 변하지 않음

예시

even = [2, 4, 6, 8, 10]
odd = [1, 3, 5, 7, 9]

nums = even + odd
//두 리스트를 연결한 새로운 리스트를 생성

print(nums)
//[2, 4, 6, 8, 10, 1, 3, 5, 7, 9] 출력
print(odd * 3)
//[1, 3, 5, 7, 9, 1, 3, 5, 7, 9, 1, 3, 5, 7, 9] 출력

리스트 인덱싱

리스트 또한 문자열처럼 인덱싱 연산이 가능하다.
인덱스 번호는 문자열과 같이 0부터 지정이 된다는 특징을 가진다.
접근하는 방식 또한 리스트이름[인덱스번호] 의 형태이다.
문자열과 다른 점은, 인덱싱을 통해 요소의 수정이 가능하다는 점이다.

예시1

hello = [1, 2, 3, 4, 5]
print(hello[0])
// 1 출력
print(hello[2])
// 3 출력
print(hello[4])
// 5 출력

예시2

num = [1, 2, 3, 4, 5]
print(num) // [1, 2, 3, 4, 5]
num[0] = 100
print(num) // [100, 2, 3, 4, 5]
num[1] = 'two'
print(num) // [100, 'two', 3, 4, 5]

위처럼 인덱스 번호를 지정한 뒤에 값을 넣어서
리스트를 수정할 수 있다.

리스트 슬라이싱

인덱싱을 통해서 리스트의 한 가지 요소에 접근할 수 있었다면,
슬라이싱은 리스트의 여러 가지 요소에 접근할 수 있게 해준다.
접근 방식은 리스트이름[시작 인덱스 번호:마지막 인덱스 번호 + 1] 이다.
또한, 시작이 0이거나 마지막이 리스트의 끝이라면 해당 인덱스 번호를 생략할 수 있다.

예시1

num = [1, 2, 3, 4, 5]
print(num[0:3]) // [1, 2, 3] 출력
num[0:2] = [10, 20]
print(num) //[10, 20, 3, 4, 5] 출력

예시2

num = [1, 2, 3, 4, 5]
print(num[:3]) //[1, 2, 3] 출력
print(num[2:] //[3, 4, 5] 출력
num[:] = [10, 20, 30, 40, 50]
print(num) // [10, 20 ,30, 40, 50] 출력

리스트 함수

다음은 리스트에서 요소를 추가하기 위해 사용되는 함수이다.

.append(x)
리스트의 마지막에 x를 추가한다.

.insert(x,y)
리스트의 x번 인덱스에 y를 추가한다.

.extend(x)
기존 리스트에 x를 더한다.

예시

num = [1, 2, 3]
print(num) // [1, 2, 3] 출력

num.append(4)
print(num) // [1, 2, 3, 4] 출력

num.insert(2, 2.5)
print(num) // [1, 2, 2.5, 3, 4] 출력

num.extend([5, 6])
print(num) // [1, 2, 2.5, 3, 4, 5, 6] 출력

append와 extend는 모두 리스트의 마지막에 요소를 추가하는 함수이다.
하지만 append는 하나의 값을 추가하는 것이기에
리스트 또한 리스트 그대로 추가되고,
extend는 리스트를 인자로 전달하는 경우
리스트의 요소가 따로따로 추가된다는 차이점을 가진다.


다음은 요소를 삭제하거나 정렬할 때 사용되는 함수이다.

.remove(x)
리스트에서 가장 앞부분에 존재하는 x를 삭제한다.

.pop()
리스트의 마지막 요소를 삭제하고 반환한다.

.sort()
리스트를 오름차순 정렬한다.

.reverse()
리스트를 반대로 정렬한다.
주의 : 내림차순으로 정리하는게 아니라 그냥 뒤집는 것

예시1

num = [1, 2, 3, 4, 5]
print(num) #[1, 2, 3, 4, 5] 출력

num.remove(2)
print(num) #[1, 3, 4, 5] 출력

print(num.pop()) #5 출력
print(num) #[1, 3, 4] 출력

예시2

num = [1, 3, 5, 7, 2, 4, 6]
print(num) #[1, 3, 5, 7, 2, 4, 6] 출력

num.sort()
print(num) #[1, 2, 3, 4, 5, 6, 7] 출력

num.reverse()
print(num) #[7, 6, 5, 4, 3, 2, 1] 출력



딕셔너리

딕셔너리 자료형

딕셔너리는 두 가지 값을 하나의 쌍으로 묶어서 저장하는 지료형이다.
리스트와 다르게 순서가 존재하지 않는다는 특징을 가진다.
순서가 없기 때문에, 인덱스&값 이 아닌 key값&value값 으로 저장된다.
한 딕셔너리 내에서 key값은 중복될 수 없다.

사용 형태

딕셔너리 이름 = {key1 : value1, key2 : value2, key3 : value3 ...}
//중괄호 안에 데이터들을 comma로 구분하여 저장
//서로 묶이는 key값과 value값은 colon으로 구분

딕셔너리 이름 =dict(key1 = value1, key2 = value2 ...) //함수를 통한 초기화

딕셔너리 이름[key] = value //값을 추가or수정
del 딕셔너리 이름[key] //값을 삭제

예시1

cs = {"인공지능" : "이영기T", "네트워크" : "김동연T", "웹프로그래밍" : "김민기T"}
print(cs) #{"인공지능" : "이영기T", "네트워크" : "김동연T", "웹프로그래밍" : "김민기T"} 출력

예시2

dic1 = {"google" : "구글"}
print(dic1) #{"google" : "구글"} 출력

dic1["Edge"] = "엣지"
print(dic1) #{"google" : "구글", "Edge" : "엣지"} 출력

del dic1["google"]
print(dic1) #{"Edge" : "엣지"} 출력

dic1["Edge"] = "에엣지"
print(dic1) #{"Edge" : "에엣지"} 출력

딕셔너리 참조

딕셔너리는 딕셔너리 이름[key]의 형태로 접근한다.
이때 반환되는 값은 해당 key값과 연결된 value 값이다.

예시

sunrin = {
	'정보보호과' : 1
    '소프트웨어과' : 2
    'IT경영과' : 3
    '콘텐츠디자인과' : 4
}
print(sunrin['정보보호과']) # 1 출력

딕셔너리 함수

파이썬은 딕셔너리를 편하게 다루기 위한 함수들을 제공한다.

예시1

nba = {"마이클조던" : 23, "르브론제임스" : 6, "래리버드" : 33}
print(nba.keys()) #dict_keys(['마이클조던', '르브론제임스', '래리버드']) 출력
print(nba.values()) #dict_keys([23, 6, 33]) 출력
print(nba.items()) #dict_items([('마이클조던', 23), ('르브론제임스', 6), ('래리버드', 33)]) 출력

예시2

sunrin = {"정보" : 1, "솦" : 2, "아경" : 3, "콘디" : 4}
print(sunrin.get("콘디")) # 4 출력
if "정통" in sunrin:
	print("예")
else:
	print("아니오") #아니오 출력



튜플

튜플 자료형

튜플은 리스트와 매우 비슷하게 나열된 데이터를 저장하는 자료형이다.
그렇기에 리스트에서 지원하는 대부분의 기능을 지원한다.
하지만 리스트와 다르게 수정이 불가능하다는 특징을 가진다.
수정이 불가능한 점은 데이터 관리가 취약해 질 수 있는 리스트의 단점을 보완한다.

사용 형태

튜플이름 = (data1, data2, data3, ...)
튜플이름 = data1, data2, data3, ...
//소괄호를 통하여 선언하며, 소괄호는 생략될 수 있음

예시

alphabet = ("A", "B", "C", "D")
number = 1, 2, 3, 4
print(alphabet[0]) # A 출력
print(number[0:3]) # (1, 2, 3) 출력



집합

집합 자료형

집합은 수학에서 다루는 집합을 파이썬을 통해 구현한 자료형이다.
위에서 다룬 자료형들과 달리 순서가 존재하지 않는다.
또한 중복되는 값의 저장이 불가능하다.(중복값을 할당해도 하나로 저장됨)

사용 형태

집합이름 = {data1, data2, data3, ...}
//중괄호를 사용하여 초기화
집합이름 = set(다른묶음자료형)
//다른 자료형의 데이터를 집합으로 새로 저장

예시

prime = {2, 3, 5, 7, 11, 13, 17, 19}
num = [1, 1, 1, 1, 2, 2, 2, 2]

print(prime) # {2, 3, 5, 7, 11, 13 ,17, 19} 출력
num2 = set(num) #리스트를 집합으로 변환
print(num2) #{1, 2} 출력, 중복된 값이 사라진 것을 확인

위의 특징을 활용하여 리스트나 튜플 요소들의 중복을 제거하기 위해서 사용하기도 한다.

집합 함수

집합은 수학에서와 비슷하게 교,합,차집합 연산을 지원한다.

예시

num1 = {1, 2, 3, 4, 5}
num2 = {3, 4, 5, 6, 7}

print(num1 & num2) #{3, 4, 5} 출력
print(num1 | num2) #{1, 2, 3, 4, 5, 6, 7} 출력
print(num1 - num2) #{1, 2} 출력

또한 집합의 요소들을 다루는 함수들 또한 지원한다.

예시

num = {1, 2, 3, 4}
print(num) #{1, 2, 3, 4} 출력

num.add(100)
print(num) #{1, 2, 3, 4, 100} 출력

반복문

반복문이란

반복문은 지정한 코드들을 조건만큼 반복되도록 지정하는 특수한 구문이다.
조건에 따라 반복하는 수가 계속하여 바뀌도록 할 수 있다.
파이썬에는 while과 for 반복문이 존재한다.

while 반복문

while 반복문은 특정 조건에 만족할 때 지정한 코드를 계속하여 반복하는 구문이다.

사용 형태

while 조건문: #해당 조건문이 True일때 계속하여 코드를 실행한다.
	반복할 코드1
    반복할 코드2

위처럼, 반복할 코드들은 TAB으로 구분되어진다.

예시1

count = 1
while count <=22:
    print(f"{count}번") #1번부터 22번까지 출력함
    count+=1

예시2

nums = [1, 3, 5, 7, 9]
i = 0
while i<5:
	print(nums[i]) #반복문을 통하여 연속된 자료형에 접근함
    i+=1

for 반복문

for 반복문은 while 반복문과 다르게 초기식, 조건식, 변화식으로 이루어져
조금 더 자세한 조건을 설정할 수 있는 반복문이다.

사용 형태

for 초기식(변수) in range(시작값, 마무리값, 변화값):
	반복할 코드1
    반복할 코드2

위에서 for과 in 사이에는 주로 변화할 변수가 들어간다.
range에는 시작값, 마무리값과 변화값이 저장되어서, 시작값<=변수<마무리값 범위에서
변화값만큼 수가 증가/감소하면서 값이 할당된다.
여기서 변화값을 생략하면, 1으로 간주한다.

예시1

for i in range(1,10):
	print(i) #1부터 9까지 정수를 출력함

예시2

for i in range(1,10,2):
	print(i) #1부터 9까지 홀수들만 출력함

조건문

조건문이란

조건문은 특정 조건을 만족하는 경우에만 지정한 코드를 실행하도록 하는 구문이다.

if 조건문

파이썬에서는 조건문으로 if를 사용한다.

사용 형태

if 조건문: #조건문이 만족할 때, 아래의 코드들이 실행된다.
	실행할 코드1
    실행할 코드2

예시

num = 4
if num == 4: #조건을 만족함
	print("num에 저장된 값은 4입니다.")

위처럼 if문을 사용할 수 있지만, 조건을 만족하지 않는 경우도 고려할 필요가 있다.
이를 위해서 존재하는 구문이 else 구문이다.

사용 형태

if 조건문: #조건을 만족할 때
	실행할 코드1
    실행할 코드2
else: #if 조건을 만족하지 않을 때
	실행할 코드1
    실행할 코드2

예시

num = 5
if num%2==0: #짝수라면
	print("짝수입니다.")
else: #if조건이 아니라면 = 홀수라면
	print("홀수입니다.")

여기서 또, 조건을 여러가지 경우로 구분할 경우가 생길 수 있다.
이를 위해서 존재하는 구문은 elif 구문이다.
elif는 else if의 줄임말이다.

사용 형태

if 조건문: #조건을 만족할 때
	실행할 코드1
    실행할 코드2
elif 조건문: #위의 조건이 거짓일 때 검사
	실행할 코드1
    실행할 코드2
else: #위의 모든 조건을 만족하지 않을 때
	실행할 코드1
    실행할 코드2

예시

num = int(input("1,2,3,4중 하나를 입력하세요"))
if num == 1:
	print("1번 선택")
elif num == 2:
	print("2번 선택")
elif num == 3:
	print("3번 선택")
else:
	print("4번 선택")

break와 continue

반복문 안에 조건문을 사용하는 경우, 조건에 따라 반복문을 벗어나거나,
순서를 건너뛰고 싶은 경우
가 존재할 수 있다.
이때, 반복문을 완전히 나가는 함수는 break이고,
아래 코드를 건너뛰고 다음 반복을 실행하는 함수는 continue이다.

예시

i = 0
while True :
	i+=1
	if i%10!=3:
		continue #맨 위로 올라감
	print(i,end=' ')
	if i==103:
		break #반복문 완전탈출

위 코드는 0에서 103의 사이 숫자에서 1의자리수가 3인 수들만 출력하는 코드이다.

함수

함수

파이썬에서 함수는 특정 코드를 여러 번 사용해야 할 때 주로 사용한다.
수학에서의 함수처럼 매개변수들을 받고, 그에 따른 값을 반환하거나 특정 코드를 실행한다.
이러한 함수는 복잡한 코드에서 빛을 발하며, 코드의 가독성을 증가시키고 공간복잡도를 최소화할 수 있는 장점을 가진다.

사용 형태

def 함수이름(매개변수1, 매개변수2,...)
	코드1
    코드2
    ...
    return 반환값

함수이름(전달인자1, 전달인자2,...) #함수를 호출하는 형태이다.

예시1

def Ssum(a,b,c):
	return a+b+c
    
print(Ssum(1, 10, 100)) # 111출력
print(Ssum(-1, 0, 1)) # 0출력

예시2

def tripleinputsum():
	a = int(input("1번값 입력 : "))
    b = int(input("2번값 입력 : "))
    c = int(input("3번값 입력 : "))
    print(a+b+c)
    
tripleinputsum() #입력한 3개 값의 합을 출력함 
profile
jimin

0개의 댓글