SlideShare a Scribd company logo
1 of 30
Download to read offline
Study Of Landvibe
Python
If, Loop, Function
Outline
1. If
2. Loop
3. range()
4. break, continue, pass
5. Comprehensions
6. Function
조건문의 끝
블록문의 시작
조건문
If
1. if ~ elif ~ else
color = input(“색상을 영문으로 입력하세요 : “)
if color == ‘blue’:
print(“파란색을 입력하셨네요”)
elif color ==‘red’:
print(“빨간색을 입력하셨네요”)
else :
print(color + “색을 입력하셨네요”)
특정 조건에 따라 분기를 하기 위해 제공되는 제어문
else if => elif ( else if는 syntax error!)
파이썬에는 Swich-case문이 없습니다
제어문 키워드
들여쓰기로 블록문 대체
들여쓰기로 블록문 대체
조건문
Loop
1. While
color =‘’
while color != ‘blue’ and color != ‘red’ :
color = input(“색상을 영문으로 입력하세요 : “)
if color == ‘blue’:
print(“파란색을 입력하셨네요”)
elif color ==‘red’:
print(“빨간색을 입력하셨네요”)
else :
print(color + “색을 입력하셨네요”)
print (“프로그램을 종료 합니다”)
특정 조건에 만족할 때까지 루프를 돌릴때 주로 사용
무한 루프를 돌릴 때 주로 사용
조건문의 끝
블록문의 시작
반복문 키워드
열거형 변수가 하나씩 대입되
는 변수
반복문 키워드
Loop
2. for
landvibe = ‘재승’, ‘민승’, 지선’
for member in landvibe:
print(member)
특정 범위만큼 루프를 돌릴때 주로 사용
열거형 변수
(tuple, list, …)
for문과 range() 함수
1. range()
>>> for x in range(5) :
… print(x, end=‘ ‘)
0 1 2 3 4 # 5는 출력되지 않습니다
>>> type(range(5))
<class ‘range’>
>>> range(5)
range(0, 5) # 그냥 쓰면 range 타입입니다
>>> list(range(5))
[0, 1 ,2, 3 ,4 ] # list() 로 형변환을 해주면 해당 범위의모든값이
# 출력됩니다
순차적인 숫자로 이루어진 리스트를 쉽게 만드는 방법
파이썬 기본 내장 함수
range(start, stop [, step])
기본 예제
>>> list(range(5, 10))
>>> list(range(0, 10, 2))
>>> list(range(5, 0, -1))
>>> tuple(range(5, 0, -1))
>>> list(range(0, 10, -1))
퀴즈!
for문과 range() 함수
>>> list(range(5, 10))
[5, 6, 7 ,8 ,9] # 5부터 10까지 1씩증가하는 리스트
>>> list(range(0, 10, 2))
[0, 2, 4, 6, 8] # 0부터 10까지 2씩증가하는 리스트
>>> list(range(5, 0, -1))
[5, 4, 3, 2, 1] # 5부터 0까지 -1씩 증가하는 리스트
>>> tuple(range(5, 0, -1))
(5, 4, 3, 2, 1) # 5부터 0까지 -1씩 증가하는 튜플
>>> list(range(0, 10, -1))
[] # 0부터 10까지 -1씩증가하면 무한루프
# 이럴땐 빈리스트가 반환!
# 에러가 나지 않음!!
정답
for문과 range() 함수
break, continue, pass
1. break
특정한 조건에 의해, 수행하고 있는 루프를 중단한다
for i in range(10) :
if i == 5:
break;
print( i, end=‘ ‘)
2. continue
수행하고 있는 루프문만 중단하고 다음 루프로 넘어간다
for i in range(10) :
if i == 5:
continue;
print( i, end=‘ ‘)
결과 : 0 1 2 3 4
결과 : 0 1 2 3 4 6 7 8 9
break, continue, pass
3. pass
아무 일도 하지 않는다
for i in range(10) :
if i == 5:
pass
print( i, end=‘ ‘)
결과 : 0 1 2 3 4 5 6 7 8 9
헤에!?
아무일도
안한다고요?
break, continue, pass
def prev_funcion():
pass
class pre_class():
pass
def prev_control():
if x == 3:
pass
코드 설계 시 제어문, 함수, 클래스를 미리 만들어 놓
을 때 사용합니다
3. pass
Comprehensions
짧고 간결한 코드로 List, Set, Dict와 같은 자료구조를 생
성할 수 있는 문법
square_list = []
for x in range(11):
square_list.append(x*x)
print(square_list)
1. List
for 문으로 [0, 1, 4 , 9, 16, 25, 36, 49, 64, 81,100] 의
데이터를 생성해보자
square_list = [x*x for x in range(10)]
Comprehensions를 사용하면?
Comprehensions
>>> pairs = []
>>> old_boys = [‘재승’, ‘민승’, ‘상화’]
>>> young_boys = [‘성현’, ‘양욱’, ‘재형’]
응용
[‘재승’, ‘민승’, ‘상화’], [‘성현’, ’양욱’, ’재형’] 두개의 리스
트를 tuple로 짝지어 봅시다.
중첩 for 문 사용
>>> for ob in old_boys :
for yb in young_boys:
pairs.append( (ob,yb) )
>>> pairs
[(‘재승’, ‘성현’), (‘재승’, ‘양욱’), (‘재승’, ‘재형’),
(‘민승’, ‘성현’), (‘민승’, ‘양욱’), (‘민승’, ‘재형’),
(‘상화’, ‘성현’), (‘상화’, ‘양욱’), (‘상화’, ‘재형’)]
Comprehensions
>>> pairs = []
>>> old_boys = [‘재승’, ‘민승’, ‘상화’]
>>> young_boys = [‘성현’, ‘양욱’, ‘재형’]
응용
[‘재승’, ‘민승’, ‘상화’], [‘성현’, ’양욱’, ’재형’] 두개의 리스
트를 tuple로 짝지어 봅시다.
Comprehension 사용
>>> pairs = [ (x,y) for x in old_boys for y in young_boys]
>>> pairs
[(‘재승’, ‘성현’), (‘재승’, ‘양욱’), (‘재승’, ‘재형’),
(‘민승’, ‘성현’), (‘민승’, ‘양욱’), (‘민승’, ‘재형’),
(‘상화’, ‘성현’), (‘상화’, ‘양욱’), (‘상화’, ‘재형’)]
Comprehensions
>>> pairs = []
>>> old_boys = [‘재승’, ‘민승’, ‘상화’]
>>> young_boys = [‘성현’, ‘민승’, ‘재형’]
응용
[‘재승’, ‘민승’, ‘상화’], [‘성현’, ’민승’, ’재형’] 두개의 리스
트를 tuple로 짝지어 봅시다.
중첩 for 문 사용
>>> for ob in old_boys :
for yb in young_boys:
if ob != yb:
pairs.append( (ob,yb) )
>>> pairs
[(‘재승’, ‘성현’), (‘재승’, ‘민승’), (‘재승’, ‘재형’),
(‘민승’, ‘성현’), (‘민승’, ‘재형’),
(‘상화’, ‘성현’), (‘상화’, ‘민승’), (‘상화’, ‘재형’)]
Comprehensions
>>> pairs = []
>>> old_boys = [‘재승’, ‘민승’, ‘상화’]
>>> young_boys = [‘성현’, ‘민승’, ‘재형’]
응용
[‘재승’, ‘민승’, ‘상화’], [‘성현’, ’민승’, ’재형’] 두개의 리스
트를 tuple로 짝지어 봅시다.
Comprehension 사용
>>> pairs = [ (x,y) for x in old_boys for y in young_boys if x != y]
>>> pairs
[(‘재승’, ‘성현’), (‘재승’, ‘민승’), (‘재승’, ‘재형’),
(‘민승’, ‘성현’), (‘민승’, ‘재형’),
(‘상화’, ‘성현’), (‘상화’, ‘민승’), (‘상화’, ‘재형’)]
Comprehensions
>>> a = {x for x in ‘abrdabrdabrd’ if x not in ‘abc’}
>>> a
2. Set
예제
{‘r’, ‘d’}
>>> a = { x : x*x for x in (2, 4, 6)}
>>> a
3. Dict
예제
{ 2:4, 4:16, 6:36 }
function
함수 : 특정 행위에 대해 기술한 소스 코드
클래스 : 특정 행위와 상태를 담을 수 있는 객체를 생성하기 위한 명세서
모듈 : 함수, 클래스 등을 포함하여 독립적인 파일(.py)로 저장하여 언제든지
호출하여 재사할 수 있는 공통 소스 코드들의 집합
Don’t Repeat Yourself!
>>> “같은 소스를 반복해서 작성하지 말라”
소스 재사용!?
function
함수 : 특정 행위에 대해 기술한 소스 코드
클래스 : 특정 행위와 상태를 담을 수 있는 객체를 생성하기 위한 명세서
모듈 : 함수, 클래스 등을 포함하여 독립적인 파일(.py)로 저장하여 언제든지
호출하여 재사할 수 있는 공통 소스 코드들의 집합
Don’t Repeat Yourself!
>>> “같은 소스를 반복해서 작성하지 말라”
소스 재사용!?
반환값
인자값
함수명
함수 정의 키워드
function
>>> def drink_water(name):
print(name + “(이)가 물을 마십니다”)
return name
>>> drink_person = drink_water(“양욱”)
양욱(이)가 물을 마십니다
>> > drink_person
양욱
>>> type(drink_water(“양욱”))
양욱(이)가 물을 마십니다
<class ‘string’>
>>> type(drink_water)
<class ‘function’>
함수의 3요소 : 함수명, 인자값, 반환값
1. 함수 정의
function
>>> def drink_water(name):
print(name + “(이)가 물을 마십니다”)
>>> drink_water(“양욱”)
양욱(이)가 물을 마십니다
>>> type(drink_water(“양욱”))
양욱(이)가 물을 마십니다
<class ‘NoneType’>
>>> print(drink_water(“양욱”))
양욱(이)가 물을 마십니다
None
반환값이 없을때 : None
1. 함수 정의
=> Object!!!!
function
>>> def drink_water(name=“양욱”):
print(name + “(이)가 물을 마십니다”)
>>> drink_water()
양욱(이)가 물을 마십니다
>>> dring_water(‘민승’)
민숭(이)가 물을 마십니다
def func_name(arg=value)
2. Default Argument Value
function
drink_water 함수를 정의해 봅시다!
>>> drink_water(3)
문자열을 입력해주세요!
>>> drink_water()
인자값을 입력해주세요!
>>> drink_water(‘건희’)
건희(이)가 물을 마십니다!
간단한 예외처리를 해봅시다!
2. Default Argument Value
정답!!!
>>> def drink_water(name=None):
if name == None:
print(“인자값을 입력해주세요!”)
elif type(name) != str :
print(“문자열을 입력해주세요!”)
else :
print(name + “(이)가 물을 마십니다”)
function
>>> def my_car( manufacturer, seats=4, type=‘세단’):
pirnt(‘내 차는’, manufacturer, ‘에서 제작된’, str(seats), ‘인승’, type, ‘이다’)
>>> my_car(‘현대’)
내 차는 현대 에서 제작된 4 인승 세단 이다.
>>> my_car(manufacturer=‘현대’)
내 차는 현대 에서 제작된 4 인승 세단 이다.
>>> my_car(manufacturer=‘기아’, type=‘SUV’)
내 차는 기아 에서 제작된 4 인승 SUV이다.
>>> my_car(type=‘SUV’, manufacturer=‘기아’)
내 차는 기아 에서 제작된 4 인승 SUV이다.
• positional : 위치 인자값
• keyword : default value를 가지는 인자값
3. Keyword Argument
function
>>> def my_car( manufacturer, seats=4, type=‘세단’):
pirnt(‘내 차는’, manufacturer, ‘에서 제작된’, str(seats), ‘인승’, type, ‘이다’)
>>> my_car(‘아우디’, 2 , ‘스포츠카’)
내 차는 아우디 에서 제작된 2 인승 스포츠카 이다
>>> my_car(‘아우디’, seats=2)
내 차는 아우디 에서 제작된 2 인승 세단 이다
>>> my_car(‘아우디’, type=스포츠카)
내 차는 아우디 에서 제작된 4 인승 스포츠카 이다
>>> my_car()
TypeError
>>> my_car(manufacturer=‘아우디’, 2)
SyntaxError
>>> my_car(“현대”, manufacturer=‘아우디’)
TypeError
>>> my_car(“현대”, color=“흰색”)
TypeError
3. Keyword Argument
function
>>> def landvibe_member(name , *members, **landvibe_info):
print(“땅울림 회장 이름 :”, name)
print(“회원들 목록은 아래와 같습니다.”)
for member in members:
print(member, end=“ “)
print(‘-’ * 40)
for key in landvibe_info.keys():
print(key, “:”, landvibe_info[key])
*args : 튜플형 데이터 (리스트x)
**args : 사전형 데이터
4. Arbitrary Argument Lists (가변 인자 리스트)
function
>>> landvibe_member(“양민승”)
4. Arbitrary Argument Lists (가변 인자 리스트)
땅울림 회장 이름 : 양민승
회원들 목록은 아래와 같습니다.
----------------------------------------
>>> members = “규정”, “건희”, “도완”
>>> landvibe_member(“양민승”, memebers)
땅울림 회장 이름 : 양민승
회원들 목록은 아래와 같습니다.
규정 건희 도완
----------------------------------------
function
4. Arbitrary Argument Lists (가변 인자 리스트)
>>> members = “규정”, “건희”, “도완”
>>> landvibe_member(“양민승”, memebers, 영문이름=‘landvibe’, 우승횟수=“5번”)
땅울림 회장 이름 : 양민승
회원들 목록은 아래와 같습니다.
규정 건희 도완
----------------------------------------
영문이름 : landvibe
우승횟수 : 5번
function
4. Arbitrary Argument Lists (가변 인자 리스트)
>>> def landvibe_member(*members):
print(members)
>>> tuple_members = “규정”, “건희”, “도완”
>>> list_members = [“규정”, “건희”, “도완”]
>>> landvibe_member(tuple_members)
([“규정”, “건희”, “도완”], )
*args : 튜플형 데이터 (리스트x)
(“규정”, “건희”, “도완”)
>>> landvibe_member(list_members)
과제!!!
9월 23일 (금) 까지 제출해주세요~
kimkh6554@gmail.com
BeakJoon Online Judge
https://www.acmicpc.net/

More Related Content

What's hot

Java mentoring of samsung scsc 0
Java mentoring of samsung scsc   0Java mentoring of samsung scsc   0
Java mentoring of samsung scsc 0도현 김
 
Python vs Java @ PyCon Korea 2017
Python vs Java @ PyCon Korea 2017Python vs Java @ PyCon Korea 2017
Python vs Java @ PyCon Korea 2017Insuk (Chris) Cho
 
[새차원, 코틀린(Kotlin) 강좌] 5. Control Flow
[새차원, 코틀린(Kotlin) 강좌] 5. Control Flow[새차원, 코틀린(Kotlin) 강좌] 5. Control Flow
[새차원, 코틀린(Kotlin) 강좌] 5. Control Flow정연 최
 
모두의 JIT 컴파일러
모두의 JIT 컴파일러모두의 JIT 컴파일러
모두의 JIT 컴파일러우경 성
 
일단 시작하는 코틀린
일단 시작하는 코틀린일단 시작하는 코틀린
일단 시작하는 코틀린Park JoongSoo
 
파이썬정리 20160130
파이썬정리 20160130파이썬정리 20160130
파이썬정리 20160130Yong Joon Moon
 
Lua 문법 -함수
Lua 문법 -함수Lua 문법 -함수
Lua 문법 -함수Jaehoon Lee
 
파이썬+함수 데코레이터+이해하기 20160229
파이썬+함수 데코레이터+이해하기 20160229파이썬+함수 데코레이터+이해하기 20160229
파이썬+함수 데코레이터+이해하기 20160229Yong Joon Moon
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기Yong Joon Moon
 
Seed2016 - 개미수열 한주영 (annotated)
Seed2016 - 개미수열 한주영 (annotated)Seed2016 - 개미수열 한주영 (annotated)
Seed2016 - 개미수열 한주영 (annotated)Jooyung Han
 
RPG Maker와 Ruby로 코딩 시작하기 Day 3
RPG Maker와 Ruby로 코딩 시작하기 Day 3RPG Maker와 Ruby로 코딩 시작하기 Day 3
RPG Maker와 Ruby로 코딩 시작하기 Day 3Sunwoo Park
 
이산치수학 Project7
이산치수학 Project7이산치수학 Project7
이산치수학 Project7KoChungWook
 
스위프트, 코틀린과 모던언어의 특징 (Swift, Kotlin and Modern Languages)
스위프트, 코틀린과 모던언어의 특징 (Swift, Kotlin and Modern Languages)스위프트, 코틀린과 모던언어의 특징 (Swift, Kotlin and Modern Languages)
스위프트, 코틀린과 모던언어의 특징 (Swift, Kotlin and Modern Languages)Yongha Yoo
 
텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 Yong Joon Moon
 
Reflect package 사용하기
Reflect package 사용하기Reflect package 사용하기
Reflect package 사용하기Yong Joon Moon
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기Yong Joon Moon
 
파이썬+Operator+이해하기 20160409
파이썬+Operator+이해하기 20160409파이썬+Operator+이해하기 20160409
파이썬+Operator+이해하기 20160409Yong Joon Moon
 
Jupyter notebook 이해하기
Jupyter notebook 이해하기 Jupyter notebook 이해하기
Jupyter notebook 이해하기 Yong Joon Moon
 
빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)SeongHyun Ahn
 

What's hot (20)

Java mentoring of samsung scsc 0
Java mentoring of samsung scsc   0Java mentoring of samsung scsc   0
Java mentoring of samsung scsc 0
 
Python vs Java @ PyCon Korea 2017
Python vs Java @ PyCon Korea 2017Python vs Java @ PyCon Korea 2017
Python vs Java @ PyCon Korea 2017
 
Lua 문법
Lua 문법Lua 문법
Lua 문법
 
[새차원, 코틀린(Kotlin) 강좌] 5. Control Flow
[새차원, 코틀린(Kotlin) 강좌] 5. Control Flow[새차원, 코틀린(Kotlin) 강좌] 5. Control Flow
[새차원, 코틀린(Kotlin) 강좌] 5. Control Flow
 
모두의 JIT 컴파일러
모두의 JIT 컴파일러모두의 JIT 컴파일러
모두의 JIT 컴파일러
 
일단 시작하는 코틀린
일단 시작하는 코틀린일단 시작하는 코틀린
일단 시작하는 코틀린
 
파이썬정리 20160130
파이썬정리 20160130파이썬정리 20160130
파이썬정리 20160130
 
Lua 문법 -함수
Lua 문법 -함수Lua 문법 -함수
Lua 문법 -함수
 
파이썬+함수 데코레이터+이해하기 20160229
파이썬+함수 데코레이터+이해하기 20160229파이썬+함수 데코레이터+이해하기 20160229
파이썬+함수 데코레이터+이해하기 20160229
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기
 
Seed2016 - 개미수열 한주영 (annotated)
Seed2016 - 개미수열 한주영 (annotated)Seed2016 - 개미수열 한주영 (annotated)
Seed2016 - 개미수열 한주영 (annotated)
 
RPG Maker와 Ruby로 코딩 시작하기 Day 3
RPG Maker와 Ruby로 코딩 시작하기 Day 3RPG Maker와 Ruby로 코딩 시작하기 Day 3
RPG Maker와 Ruby로 코딩 시작하기 Day 3
 
이산치수학 Project7
이산치수학 Project7이산치수학 Project7
이산치수학 Project7
 
스위프트, 코틀린과 모던언어의 특징 (Swift, Kotlin and Modern Languages)
스위프트, 코틀린과 모던언어의 특징 (Swift, Kotlin and Modern Languages)스위프트, 코틀린과 모던언어의 특징 (Swift, Kotlin and Modern Languages)
스위프트, 코틀린과 모던언어의 특징 (Swift, Kotlin and Modern Languages)
 
텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 텐서플로우 기초 이해하기
텐서플로우 기초 이해하기
 
Reflect package 사용하기
Reflect package 사용하기Reflect package 사용하기
Reflect package 사용하기
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기
 
파이썬+Operator+이해하기 20160409
파이썬+Operator+이해하기 20160409파이썬+Operator+이해하기 20160409
파이썬+Operator+이해하기 20160409
 
Jupyter notebook 이해하기
Jupyter notebook 이해하기 Jupyter notebook 이해하기
Jupyter notebook 이해하기
 
빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)
 

Viewers also liked

땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro건희 김
 
Python codelab3
Python codelab3Python codelab3
Python codelab3건희 김
 
Python(basic)
Python(basic)Python(basic)
Python(basic)POSTECH
 
Effective response to adverse weather conditions using SolarPulse
Effective response to adverse weather conditions using SolarPulseEffective response to adverse weather conditions using SolarPulse
Effective response to adverse weather conditions using SolarPulseMachinePulse
 
빅데이터의 개념과 이해 그리고 활용사례 (Introduction to big data and use cases)
빅데이터의 개념과 이해 그리고 활용사례 (Introduction to big data and use cases)빅데이터의 개념과 이해 그리고 활용사례 (Introduction to big data and use cases)
빅데이터의 개념과 이해 그리고 활용사례 (Introduction to big data and use cases)Wonjin Lee
 

Viewers also liked (7)

Python 01
Python 01Python 01
Python 01
 
땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro땅울림 파이썬 스터디 intro
땅울림 파이썬 스터디 intro
 
Python codelab3
Python codelab3Python codelab3
Python codelab3
 
Python module
Python modulePython module
Python module
 
Python(basic)
Python(basic)Python(basic)
Python(basic)
 
Effective response to adverse weather conditions using SolarPulse
Effective response to adverse weather conditions using SolarPulseEffective response to adverse weather conditions using SolarPulse
Effective response to adverse weather conditions using SolarPulse
 
빅데이터의 개념과 이해 그리고 활용사례 (Introduction to big data and use cases)
빅데이터의 개념과 이해 그리고 활용사례 (Introduction to big data and use cases)빅데이터의 개념과 이해 그리고 활용사례 (Introduction to big data and use cases)
빅데이터의 개념과 이해 그리고 활용사례 (Introduction to big data and use cases)
 

Similar to Python if loop-function

Shellscript_doc.pdf
Shellscript_doc.pdfShellscript_doc.pdf
Shellscript_doc.pdfssuser6d2d9b
 
파이썬 기본 문법
파이썬 기본 문법파이썬 기본 문법
파이썬 기본 문법SeongHyun Ahn
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차Han Sung Kim
 
스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오Taeoh Kim
 
[PyCon Korea 2019] 파이썬의 변수
[PyCon Korea 2019] 파이썬의 변수[PyCon Korea 2019] 파이썬의 변수
[PyCon Korea 2019] 파이썬의 변수Insuk (Chris) Cho
 
Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713Yong Joon Moon
 
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용NAVER Engineering
 
R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R BasicsYoonwhan Lee
 
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)성일 한
 
Swift basic operators-controlflow
Swift basic operators-controlflowSwift basic operators-controlflow
Swift basic operators-controlflowwileychoi
 
Web vulnerability seminar2
Web vulnerability seminar2Web vulnerability seminar2
Web vulnerability seminar2Sakuya Izayoi
 
해커스쿨 FTZ 문제 풀이
해커스쿨 FTZ 문제 풀이해커스쿨 FTZ 문제 풀이
해커스쿨 FTZ 문제 풀이fromitive
 
파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304Yong Joon Moon
 
2015 Kitel C 언어 강좌3
2015 Kitel C 언어 강좌32015 Kitel C 언어 강좌3
2015 Kitel C 언어 강좌3ssuseraf62e91
 
처음배우는 자바스크립트, 제이쿼리 #3
처음배우는 자바스크립트, 제이쿼리 #3처음배우는 자바스크립트, 제이쿼리 #3
처음배우는 자바스크립트, 제이쿼리 #3성일 한
 
Javascript개발자의 눈으로 python 들여다보기
Javascript개발자의 눈으로 python 들여다보기Javascript개발자의 눈으로 python 들여다보기
Javascript개발자의 눈으로 python 들여다보기지수 윤
 

Similar to Python if loop-function (20)

Shellscript_doc.pdf
Shellscript_doc.pdfShellscript_doc.pdf
Shellscript_doc.pdf
 
R 시작해보기
R 시작해보기R 시작해보기
R 시작해보기
 
파이썬 기본 문법
파이썬 기본 문법파이썬 기본 문법
파이썬 기본 문법
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 
스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오스칼라와 스파크 영혼의 듀오
스칼라와 스파크 영혼의 듀오
 
[PyCon Korea 2019] 파이썬의 변수
[PyCon Korea 2019] 파이썬의 변수[PyCon Korea 2019] 파이썬의 변수
[PyCon Korea 2019] 파이썬의 변수
 
Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713
 
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
 
R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R Basics
 
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
 
Swift basic operators-controlflow
Swift basic operators-controlflowSwift basic operators-controlflow
Swift basic operators-controlflow
 
Web vulnerability seminar2
Web vulnerability seminar2Web vulnerability seminar2
Web vulnerability seminar2
 
파이선 실전공략-1
파이선 실전공략-1파이선 실전공략-1
파이선 실전공략-1
 
Scala
ScalaScala
Scala
 
해커스쿨 FTZ 문제 풀이
해커스쿨 FTZ 문제 풀이해커스쿨 FTZ 문제 풀이
해커스쿨 FTZ 문제 풀이
 
파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304
 
Perl Script
Perl ScriptPerl Script
Perl Script
 
2015 Kitel C 언어 강좌3
2015 Kitel C 언어 강좌32015 Kitel C 언어 강좌3
2015 Kitel C 언어 강좌3
 
처음배우는 자바스크립트, 제이쿼리 #3
처음배우는 자바스크립트, 제이쿼리 #3처음배우는 자바스크립트, 제이쿼리 #3
처음배우는 자바스크립트, 제이쿼리 #3
 
Javascript개발자의 눈으로 python 들여다보기
Javascript개발자의 눈으로 python 들여다보기Javascript개발자의 눈으로 python 들여다보기
Javascript개발자의 눈으로 python 들여다보기
 

Python if loop-function

  • 2. Outline 1. If 2. Loop 3. range() 4. break, continue, pass 5. Comprehensions 6. Function
  • 3. 조건문의 끝 블록문의 시작 조건문 If 1. if ~ elif ~ else color = input(“색상을 영문으로 입력하세요 : “) if color == ‘blue’: print(“파란색을 입력하셨네요”) elif color ==‘red’: print(“빨간색을 입력하셨네요”) else : print(color + “색을 입력하셨네요”) 특정 조건에 따라 분기를 하기 위해 제공되는 제어문 else if => elif ( else if는 syntax error!) 파이썬에는 Swich-case문이 없습니다 제어문 키워드 들여쓰기로 블록문 대체
  • 4. 들여쓰기로 블록문 대체 조건문 Loop 1. While color =‘’ while color != ‘blue’ and color != ‘red’ : color = input(“색상을 영문으로 입력하세요 : “) if color == ‘blue’: print(“파란색을 입력하셨네요”) elif color ==‘red’: print(“빨간색을 입력하셨네요”) else : print(color + “색을 입력하셨네요”) print (“프로그램을 종료 합니다”) 특정 조건에 만족할 때까지 루프를 돌릴때 주로 사용 무한 루프를 돌릴 때 주로 사용 조건문의 끝 블록문의 시작 반복문 키워드
  • 5. 열거형 변수가 하나씩 대입되 는 변수 반복문 키워드 Loop 2. for landvibe = ‘재승’, ‘민승’, 지선’ for member in landvibe: print(member) 특정 범위만큼 루프를 돌릴때 주로 사용 열거형 변수 (tuple, list, …)
  • 6. for문과 range() 함수 1. range() >>> for x in range(5) : … print(x, end=‘ ‘) 0 1 2 3 4 # 5는 출력되지 않습니다 >>> type(range(5)) <class ‘range’> >>> range(5) range(0, 5) # 그냥 쓰면 range 타입입니다 >>> list(range(5)) [0, 1 ,2, 3 ,4 ] # list() 로 형변환을 해주면 해당 범위의모든값이 # 출력됩니다 순차적인 숫자로 이루어진 리스트를 쉽게 만드는 방법 파이썬 기본 내장 함수 range(start, stop [, step]) 기본 예제
  • 7. >>> list(range(5, 10)) >>> list(range(0, 10, 2)) >>> list(range(5, 0, -1)) >>> tuple(range(5, 0, -1)) >>> list(range(0, 10, -1)) 퀴즈! for문과 range() 함수
  • 8. >>> list(range(5, 10)) [5, 6, 7 ,8 ,9] # 5부터 10까지 1씩증가하는 리스트 >>> list(range(0, 10, 2)) [0, 2, 4, 6, 8] # 0부터 10까지 2씩증가하는 리스트 >>> list(range(5, 0, -1)) [5, 4, 3, 2, 1] # 5부터 0까지 -1씩 증가하는 리스트 >>> tuple(range(5, 0, -1)) (5, 4, 3, 2, 1) # 5부터 0까지 -1씩 증가하는 튜플 >>> list(range(0, 10, -1)) [] # 0부터 10까지 -1씩증가하면 무한루프 # 이럴땐 빈리스트가 반환! # 에러가 나지 않음!! 정답 for문과 range() 함수
  • 9. break, continue, pass 1. break 특정한 조건에 의해, 수행하고 있는 루프를 중단한다 for i in range(10) : if i == 5: break; print( i, end=‘ ‘) 2. continue 수행하고 있는 루프문만 중단하고 다음 루프로 넘어간다 for i in range(10) : if i == 5: continue; print( i, end=‘ ‘) 결과 : 0 1 2 3 4 결과 : 0 1 2 3 4 6 7 8 9
  • 10. break, continue, pass 3. pass 아무 일도 하지 않는다 for i in range(10) : if i == 5: pass print( i, end=‘ ‘) 결과 : 0 1 2 3 4 5 6 7 8 9 헤에!? 아무일도 안한다고요?
  • 11. break, continue, pass def prev_funcion(): pass class pre_class(): pass def prev_control(): if x == 3: pass 코드 설계 시 제어문, 함수, 클래스를 미리 만들어 놓 을 때 사용합니다 3. pass
  • 12. Comprehensions 짧고 간결한 코드로 List, Set, Dict와 같은 자료구조를 생 성할 수 있는 문법 square_list = [] for x in range(11): square_list.append(x*x) print(square_list) 1. List for 문으로 [0, 1, 4 , 9, 16, 25, 36, 49, 64, 81,100] 의 데이터를 생성해보자 square_list = [x*x for x in range(10)] Comprehensions를 사용하면?
  • 13. Comprehensions >>> pairs = [] >>> old_boys = [‘재승’, ‘민승’, ‘상화’] >>> young_boys = [‘성현’, ‘양욱’, ‘재형’] 응용 [‘재승’, ‘민승’, ‘상화’], [‘성현’, ’양욱’, ’재형’] 두개의 리스 트를 tuple로 짝지어 봅시다. 중첩 for 문 사용 >>> for ob in old_boys : for yb in young_boys: pairs.append( (ob,yb) ) >>> pairs [(‘재승’, ‘성현’), (‘재승’, ‘양욱’), (‘재승’, ‘재형’), (‘민승’, ‘성현’), (‘민승’, ‘양욱’), (‘민승’, ‘재형’), (‘상화’, ‘성현’), (‘상화’, ‘양욱’), (‘상화’, ‘재형’)]
  • 14. Comprehensions >>> pairs = [] >>> old_boys = [‘재승’, ‘민승’, ‘상화’] >>> young_boys = [‘성현’, ‘양욱’, ‘재형’] 응용 [‘재승’, ‘민승’, ‘상화’], [‘성현’, ’양욱’, ’재형’] 두개의 리스 트를 tuple로 짝지어 봅시다. Comprehension 사용 >>> pairs = [ (x,y) for x in old_boys for y in young_boys] >>> pairs [(‘재승’, ‘성현’), (‘재승’, ‘양욱’), (‘재승’, ‘재형’), (‘민승’, ‘성현’), (‘민승’, ‘양욱’), (‘민승’, ‘재형’), (‘상화’, ‘성현’), (‘상화’, ‘양욱’), (‘상화’, ‘재형’)]
  • 15. Comprehensions >>> pairs = [] >>> old_boys = [‘재승’, ‘민승’, ‘상화’] >>> young_boys = [‘성현’, ‘민승’, ‘재형’] 응용 [‘재승’, ‘민승’, ‘상화’], [‘성현’, ’민승’, ’재형’] 두개의 리스 트를 tuple로 짝지어 봅시다. 중첩 for 문 사용 >>> for ob in old_boys : for yb in young_boys: if ob != yb: pairs.append( (ob,yb) ) >>> pairs [(‘재승’, ‘성현’), (‘재승’, ‘민승’), (‘재승’, ‘재형’), (‘민승’, ‘성현’), (‘민승’, ‘재형’), (‘상화’, ‘성현’), (‘상화’, ‘민승’), (‘상화’, ‘재형’)]
  • 16. Comprehensions >>> pairs = [] >>> old_boys = [‘재승’, ‘민승’, ‘상화’] >>> young_boys = [‘성현’, ‘민승’, ‘재형’] 응용 [‘재승’, ‘민승’, ‘상화’], [‘성현’, ’민승’, ’재형’] 두개의 리스 트를 tuple로 짝지어 봅시다. Comprehension 사용 >>> pairs = [ (x,y) for x in old_boys for y in young_boys if x != y] >>> pairs [(‘재승’, ‘성현’), (‘재승’, ‘민승’), (‘재승’, ‘재형’), (‘민승’, ‘성현’), (‘민승’, ‘재형’), (‘상화’, ‘성현’), (‘상화’, ‘민승’), (‘상화’, ‘재형’)]
  • 17. Comprehensions >>> a = {x for x in ‘abrdabrdabrd’ if x not in ‘abc’} >>> a 2. Set 예제 {‘r’, ‘d’} >>> a = { x : x*x for x in (2, 4, 6)} >>> a 3. Dict 예제 { 2:4, 4:16, 6:36 }
  • 18. function 함수 : 특정 행위에 대해 기술한 소스 코드 클래스 : 특정 행위와 상태를 담을 수 있는 객체를 생성하기 위한 명세서 모듈 : 함수, 클래스 등을 포함하여 독립적인 파일(.py)로 저장하여 언제든지 호출하여 재사할 수 있는 공통 소스 코드들의 집합 Don’t Repeat Yourself! >>> “같은 소스를 반복해서 작성하지 말라” 소스 재사용!?
  • 19. function 함수 : 특정 행위에 대해 기술한 소스 코드 클래스 : 특정 행위와 상태를 담을 수 있는 객체를 생성하기 위한 명세서 모듈 : 함수, 클래스 등을 포함하여 독립적인 파일(.py)로 저장하여 언제든지 호출하여 재사할 수 있는 공통 소스 코드들의 집합 Don’t Repeat Yourself! >>> “같은 소스를 반복해서 작성하지 말라” 소스 재사용!?
  • 20. 반환값 인자값 함수명 함수 정의 키워드 function >>> def drink_water(name): print(name + “(이)가 물을 마십니다”) return name >>> drink_person = drink_water(“양욱”) 양욱(이)가 물을 마십니다 >> > drink_person 양욱 >>> type(drink_water(“양욱”)) 양욱(이)가 물을 마십니다 <class ‘string’> >>> type(drink_water) <class ‘function’> 함수의 3요소 : 함수명, 인자값, 반환값 1. 함수 정의
  • 21. function >>> def drink_water(name): print(name + “(이)가 물을 마십니다”) >>> drink_water(“양욱”) 양욱(이)가 물을 마십니다 >>> type(drink_water(“양욱”)) 양욱(이)가 물을 마십니다 <class ‘NoneType’> >>> print(drink_water(“양욱”)) 양욱(이)가 물을 마십니다 None 반환값이 없을때 : None 1. 함수 정의 => Object!!!!
  • 22. function >>> def drink_water(name=“양욱”): print(name + “(이)가 물을 마십니다”) >>> drink_water() 양욱(이)가 물을 마십니다 >>> dring_water(‘민승’) 민숭(이)가 물을 마십니다 def func_name(arg=value) 2. Default Argument Value
  • 23. function drink_water 함수를 정의해 봅시다! >>> drink_water(3) 문자열을 입력해주세요! >>> drink_water() 인자값을 입력해주세요! >>> drink_water(‘건희’) 건희(이)가 물을 마십니다! 간단한 예외처리를 해봅시다! 2. Default Argument Value 정답!!! >>> def drink_water(name=None): if name == None: print(“인자값을 입력해주세요!”) elif type(name) != str : print(“문자열을 입력해주세요!”) else : print(name + “(이)가 물을 마십니다”)
  • 24. function >>> def my_car( manufacturer, seats=4, type=‘세단’): pirnt(‘내 차는’, manufacturer, ‘에서 제작된’, str(seats), ‘인승’, type, ‘이다’) >>> my_car(‘현대’) 내 차는 현대 에서 제작된 4 인승 세단 이다. >>> my_car(manufacturer=‘현대’) 내 차는 현대 에서 제작된 4 인승 세단 이다. >>> my_car(manufacturer=‘기아’, type=‘SUV’) 내 차는 기아 에서 제작된 4 인승 SUV이다. >>> my_car(type=‘SUV’, manufacturer=‘기아’) 내 차는 기아 에서 제작된 4 인승 SUV이다. • positional : 위치 인자값 • keyword : default value를 가지는 인자값 3. Keyword Argument
  • 25. function >>> def my_car( manufacturer, seats=4, type=‘세단’): pirnt(‘내 차는’, manufacturer, ‘에서 제작된’, str(seats), ‘인승’, type, ‘이다’) >>> my_car(‘아우디’, 2 , ‘스포츠카’) 내 차는 아우디 에서 제작된 2 인승 스포츠카 이다 >>> my_car(‘아우디’, seats=2) 내 차는 아우디 에서 제작된 2 인승 세단 이다 >>> my_car(‘아우디’, type=스포츠카) 내 차는 아우디 에서 제작된 4 인승 스포츠카 이다 >>> my_car() TypeError >>> my_car(manufacturer=‘아우디’, 2) SyntaxError >>> my_car(“현대”, manufacturer=‘아우디’) TypeError >>> my_car(“현대”, color=“흰색”) TypeError 3. Keyword Argument
  • 26. function >>> def landvibe_member(name , *members, **landvibe_info): print(“땅울림 회장 이름 :”, name) print(“회원들 목록은 아래와 같습니다.”) for member in members: print(member, end=“ “) print(‘-’ * 40) for key in landvibe_info.keys(): print(key, “:”, landvibe_info[key]) *args : 튜플형 데이터 (리스트x) **args : 사전형 데이터 4. Arbitrary Argument Lists (가변 인자 리스트)
  • 27. function >>> landvibe_member(“양민승”) 4. Arbitrary Argument Lists (가변 인자 리스트) 땅울림 회장 이름 : 양민승 회원들 목록은 아래와 같습니다. ---------------------------------------- >>> members = “규정”, “건희”, “도완” >>> landvibe_member(“양민승”, memebers) 땅울림 회장 이름 : 양민승 회원들 목록은 아래와 같습니다. 규정 건희 도완 ----------------------------------------
  • 28. function 4. Arbitrary Argument Lists (가변 인자 리스트) >>> members = “규정”, “건희”, “도완” >>> landvibe_member(“양민승”, memebers, 영문이름=‘landvibe’, 우승횟수=“5번”) 땅울림 회장 이름 : 양민승 회원들 목록은 아래와 같습니다. 규정 건희 도완 ---------------------------------------- 영문이름 : landvibe 우승횟수 : 5번
  • 29. function 4. Arbitrary Argument Lists (가변 인자 리스트) >>> def landvibe_member(*members): print(members) >>> tuple_members = “규정”, “건희”, “도완” >>> list_members = [“규정”, “건희”, “도완”] >>> landvibe_member(tuple_members) ([“규정”, “건희”, “도완”], ) *args : 튜플형 데이터 (리스트x) (“규정”, “건희”, “도완”) >>> landvibe_member(list_members)
  • 30. 과제!!! 9월 23일 (금) 까지 제출해주세요~ kimkh6554@gmail.com BeakJoon Online Judge https://www.acmicpc.net/