본문 바로가기
Python

(아카이브 22.01.03) 부스트코스 - 처음 배우는 프로그래밍 1강 리뷰

by 디디 ( DD ) 2022. 12. 17.

 

부스트코스 무료 강의 - 처음 배우는 프로그래밍 (w.python), 카이스트 김문주 교수님

강의 링크 : https://www.boostcourse.org/cs114

 

처음 배우는 프로그래밍 (w.파이썬)

부스트코스 무료 강의

www.boostcourse.org

 

 

 

1-1. 강의 소개

 

 

· 프로그램이란?

  순차적인 명령

 

· 디버깅이란?

  버그를 찾고 고치는 것

 

→ 프로그램 오류

     1) syntax error : 발견하기 쉽고, 고치기도 쉽다.

                               문법이 틀린 것 (파이썬이 작성한 프로그램을 이해하지 못함)

     2) runtime error : 프로그램 실행 중 에러 뜨면서 급종료되는 것

                                 고치기 좀 어려움. 코드를 한 줄 한 줄 살펴봐야 함.

     3) semantic error : 에러 메시지 없이 실행되지만, 기대하지 않은 결과가 나오는 것

                                   대부분 시간을 쓰게 됨.

 

프로그래밍은 다양한 분야의 유용한 도구. 일종의 창작 활동. 오픈소스 커뮤니티가 있음.

 

 

 

 

 

1-2. Python 프로그램 작성 예제

 

 

· 함수는 여러 개의 프로그램 명령어들을 모아 놓은 것

 

(예시 1)

 

def print_message():                    → print_message()라는 함수를 정의하겠다는 뜻

      print("CS101 is fantastic!")          ※콜론, 들여 쓰기※

      print("Programming is fun!")

 

def repeat_message():                 → 함수 안에서 다른 함수를 호출할 수 있음

      print_message()

      print_message()

 

repeat_message()                         → 총 네 줄의 메시지가 출력됨

 

 

명령은 위에서 아래로 하나씩 실행됨

함수를 정의하고 호출.

 

 

(예시 2) 로봇

 

# create a robot with one beeper

hubo = Robot(beepers = 1)

 

→ 비퍼를 하나 가진 로봇이 만들어지고, 그 로봇의 이름을 앞으로 휴보라고 쓰겠다는 뜻.

 

# move one step forward

hubo.move()

 

# turn left 90 degrees

hubo.turn_left()

 

⇒ 그럼 우회전은? 좌회전 명령어를 이용해 새로운 함수를 만들어서 사용.

def turn_right():

      hubo.turn_left()

      hubo.turn_left()

      hubo.turn_left()

 

 

 

(예시 3) 신문 배달

출처 : 부스트코스( https://www.boostcourse.org/cs114 )

 

Q. 휴보가 계단을 올라가서 문 앞에 신문을 놓고, 처음 위치로 돌아가게 하려면?

 

1) 계단을 네 칸 올라감

 

def climb_up_four_stairs():

      climb_up_one_stair()

      climb_up_one_stair()

      climb_up_one_stair()

      climb_up_one_stair()

 

def climb_up_one_stair():

      hubo.turn_left()

      hubo.move()

      turn_right()

      hubo.move()

      hubo.move()

 

→ 이와 같이 하나의 큰 문제를 점점 작은 크기의 문제들로 나누어 해결하는 방식을 하향식 설계(Top-down)라고 함.

 

2) 신문을 놓음

 

hubo.drop_beeper()

 

3) 돌아섬

 

def turn_around():

      hubo.turn_left()

      hubo.turn_left()

 

4) 계단을 네 칸 내려감

 

climb_down_four_stairs()

 

 

(예시 4) for 반복문

 

for i in range(4):

     print("cs101 is fantastic!")          → print 명령어가 4번 수행

 

 

⇒ 이를 이용하여 앞서 작성한 코드를 더 깔끔하게 쓸 수 있음.

 

def climb_up_four_stairs():

for i in range(4):

     climb_up_one_stair()

 

 

 

 

 

<키워드 정리>

def 정의

print 그대로 출력

콜론과 괄호, 특히 들여쓰기 주의할 것.

for i in range() 동일한 명령 반복

 

 

 

 

 

 

 

 

 

 

☞ pc 화면에 최적화된 개인 복습용 기록입니다.

댓글