(출처) edwith 파이썬으로 배우는 프로그래밍 기초, 김문주 교수
Python 프로그램 작성 예제
-
기초적인 형태와 동작에 대해 이해하기
-
Top-Down형식의 코드 작성
-
반복문, 키워드, 들여쓰기 활용
함수
: 여러 개의 프로그램 명령어들을 모아 놓은 것
-
새로운 이름의 함수를 지정해주고 이를 호출될 때 실행됨
-
키워드 def 함수 이름() : 으로 정의됨
-
책을 읽는 것과 같은 메서드로 좌에서 우, 위에서 아래의 순서로 읽음
함수의 정의, 함수의 호출
-
PyCharm에서 함수의 정의는 파란색, 함수의 호출은 검정색으로 표현됨
-
함수의 정의가 설계도를 만드는 과정이라면 함수의 호출은 설계도를 기반으로 건물을 짓는 것
-
함수 호출은 () 안에서 이루어짐
from cs1robots import *
create_world()
hubo = Robot(beepers = 1)
hubo.move()
hubo.move()
hubo.turn_left()
huno.move()
def turn_right():
hubo.turn_left()
hubo.turn_left()
hubo.turn_left()
turn_right()
hubo.move()
hubo.move()
hubo.turn_left()
huno.move()
def turn_right():
hubo.turn_left()
hubo.turn_left()
hubo.turn_left()
turn_right()
hubo.move()
예제) 휴보의 신문배달
: 문제의 개요 → 계단 4칸 올라가기 → 신문 놓기 → 돌아서기(180도) → 계단 4칸 내려가기
def turn_right():
hubo.turn_left()
hubo.turn_left()
hubo.turn_left()
turn_right()
hubo.move()
def turn_around():
hubo.turn_left()
hubo.turn_left()
def climb_up_four_stairs():
climb_up_one_stairs()
climb_up_one_stairs()
climb_up_one_stairs()
climb_up_one_stairs()
def climb_up_one_stair():
hubo.turn_left()
hubo.move()
turn_right()
hubo.move()
hubo.move()
프로그래밍 가이드
-
복잡한 문제를 미듐 사이즈의 여러 문제로 나누고, 이를 하나씩 해결
-
미듐 문제 해결을 위해 더 작은 크기의 소문제들로 세분화
-
이 문제들을 즉각적으로 해결
→ Top-Down 설계
for 반복문
▤ 위의 예제에서 동일한 명령을 for i in range(4): 으로 간단하게 반복 가능
def climb_up_four_stairs():
for i in range(4):
climb_up_one_stair()
▥반복문 에서 들여쓰기에 의해 반복의 여부가 결정되므로 유의해야 함
정리하기
-
파이썬 프로그램의 형태 및 동작
-
파이썬 프로그램을 구성하는 키워드 → 콜론, 괄호 들여쓰기의 사용
-
Hubo를 사용한 Top-Down 방식의 프로그램 작성
학습 목표
-
조건에 따라 동작을 수행하는 if 조건문 이해
-
반복적으로 동작을 수행하는 while 반복문 이해
if 조건문
: 같은 명령만 수행하는 것이 아닌 조건에 따라 다른 명령을 호출함
if it rains:
listen_to_cs101_lecture()
else:
eat_strawberries_in_the_sun()
- if 다음에 나오는 조건은 항상 참 or 거짓 값을 가짐
- if True → 참, 거짓의 영어 타이핑은 항상 대문자로 작성
print("CS101 is my favorite course")
if False:
print("Every CS101 student will receive an A+")
→ 이 조건의 결과값이 True 라면 if False 이후의 호출값은 출력되지 않음
True/ False에 대한 조금 더 복잡한 조건
if 3 < 5 :
print("3 is less than 5")
else:
print("3 is larger than 5")
→ 조건 값이 참이므로 else문은 출력하지 않음
not
I'm a Senior Student in Data Science !
데이터 사이언스를 공부하고 있는 4학년 학부생의 TIL 블로그입니다. 게시글이 도움 되셨다면 구독과 좋아요 :)
'Programming > #Python' 카테고리의 다른 글
[Python] 지역 변수와 전역 변수 (1) | 2019.11.08 |
---|---|
[Python] 함수 인자와 매개 변수 (0) | 2019.11.08 |
[Python] 함수를 사용한 로봇 조종 및 디지털 사진 변환 프로그램 (0) | 2019.11.06 |
[Python] 매개 변수와 반환값을 가진 함수 (0) | 2019.10.14 |
[Python] 튜플과 디지털 사진 변환 (0) | 2019.10.07 |