16
1. 처음으로 하는 코딩: 찾아가기 찾아가기 순천향대학교 컴퓨터공학과 이상정 순천향대학교 컴퓨터공학과 1 컴퓨터와 현대기술 프로그래밍을 하면? 프로그래밍을 하면? 프로그래밍하면 많은 것을 있음 프로그래밍하면 많은 것을 있음 기존의 프로그램이 부적합 자신 만의 고유의 일 웹 사이트 작동, 데이터 관리, 나 만의 게임 …… 프로그래밍을 통해 창조하고 해결하는 능력 보유 능력 보유 컴퓨터로 더 많은 것을 성취하고 제어 파이썬(Python)으로 만든 간단한 게임 소개 1. 처음으로 하는 코딩 순천향대학교 컴퓨터공학과 2

1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

1. 처음으로 하는 코딩:길 찾아가기길 찾아가기

순천향대학교 컴퓨터공학과

이 상 정

순천향대학교 컴퓨터공학과 1

컴퓨터와 현대기술

프로그래밍을 하면?프로그래밍을 하면?

프로그래밍을 하면 더 많은 것을 할 수 있음 프로그래밍을 하면 더 많은 것을 할 수 있음• 기존의 프로그램이 부적합

• 자신 만의 고유의 일

• 웹 사이트 작동, 데이터 관리, 나 만의 게임 ……

프로그래밍을 통해 창조하고 해결하는능력 보유능력 보유• 컴퓨터로 더 많은 것을 성취하고 제어

파이썬(Python)으로 만든간단한 게임 소개

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 2

Page 2: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

알아맞히기 게임: 코드가 하는 일은?알아맞히기 게임 드가 하는 일은?

print("Welcome!")print("Welcome!")

g = input("Guess the number: ")

guess = int(g)

if guess == 5:

print("You win!")print( You win! )

else:

print("You lose!")

i ("G !")

1. 처음으로 하는 코딩

print("Game over!")

순천향대학교 컴퓨터공학과 3

컴퓨터와 현대기술

프로그램 실행프로그램 실행

실행을 위해 에디터(editor)와 인터프리터(interpreter) 필요• 에디터는 프로그램의 소스 코드을 하드 디스크 파일로 저장에디터는 프로그램의 소스 코드을 하드 디스크 파일로 저장

• 파이썬 인터프리터는 소스 코드를 컴퓨터가 이해하는 1과 0으로변환

1000.py

100001110010

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 4

Page 3: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

파이썬3 다운로드 및 설치파이썬3 다운로드 및 설치

다운로드 (2015년 2월 기준) 및 설치 다운로드 (2015년 2월 기준) 및 설치• http://python.org/download/ 에서 Python 3.4.2 다운로드 및 실행

• 또는 강의 홈페이지에서 python-3.4.2.msi 다운로드 및 실행py

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 5

컴퓨터와 현대기술

파이썬 실행 – 명령 프롬트파이썬 실행 명령 프롬트

윈도우 명령 프롬트에서 실행 윈도우 명령 프롬트에서 실행• 명령 프롬트는 마우스가 아닌 키보드 입력 텍스트(문자)로 명령 실행

• C:₩python34 에 설치 가정py

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 6

Page 4: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

파이썬 실행 – GUI 실행파이썬 실행 GUI 실행

파이썬3는 IDLE 통합 개발환경(Integrated Development 파이썬3는 IDLE 통합 개발환경(Integrated Development Environment) GUI 제공• GUI (Graphic User Interface, 그래픽 사용자 인터페이스)

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 7

컴퓨터와 현대기술

파이썬 환경변수 설정 (1)파이썬 환경변수 설정 (1)

파이썬의 실행 환경 설정 파이썬의 실행 환경 설정• 윈도우에서 파이썬 실행파일(python.exe) 등의 경로 설정

윈도우 환경 변수 설정 윈도우 환경 변수 설정• 탐색기 컴퓨터 메뉴 – 속성 – 고급 시스템 설정 – 환경변수

• PATH 변수 값 끝에 다음을 추가C:₩Python34; C:₩Python34₩Scripts;

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 8

Page 5: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

파이썬 환경변수 설정 (2)파이썬 환경변수 설정 (2)

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 9

컴퓨터와 현대기술

파이썬 환경변수 설정 (3)파이썬 환경변수 설정 (3)

명령 프롬트에서 실행 확인• 폴더 경로 없이 실행• 폴더 경로 없이 실행

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 10

Page 6: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

파이썬 실행 예파이썬 실행 예

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 11

컴퓨터와 현대기술

새로운 프로그램 파일 생성새로운 프로그램 파일 생성

파이썬 셸에서 [File]-[New File] 메뉴 선택하여 소스 코드 파이썬 셸에서 [File] [New File] 메뉴 선택하여 소스 코드편집

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 12

Page 7: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

코드 준비와 실행드 준비와 실행

[File]-[Save] 메뉴 선택하여 저장 [File] [Save] 메뉴 선택하여 저장

[Run]-[Run Module] 메뉴 선택하여 실행

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 13

컴퓨터와 현대기술

시험 주행시험 주행

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 14

Page 8: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

알아맞히기 게임 - 정보 메시지 출력알아맞히기 게임 정보 메시지 출력

사용자 추측에 관한 정보 메시지 출력 사용자 추측에 관한 정보 메시지 출력• 사용자가 입력한 답이 정답보다 높다거나 낮다는 정보 출력

• 프로그램 다시 실행할 때 정답에 더 가까워질 수 있음

입력한 숫자 출력 메시지입력한 숫자 출력 메시지

3 Too low

5 You win!

7 Too high

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 15

8 Too high

컴퓨터와 현대기술

if/else 분기문if 5:

if/else 분기문if guess == 5:

print("You win!")

else:else

print("You lose!")

print("Game over!")

print("You win!")

guess == 5 ?

p ( )

print("Game over")

print("You lose!")참

거짓

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 16

Page 9: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

메시지 출력 분기문if guess == 5: 메시지 출력 분기문if guess 5

print("You win!")

else:

if guess > 5:

print("Too high")

else:else:

print("Too low")

print("Game over!") p ( )

print("You win!")

이미지를 표시할 수 없습니다 . 컴퓨터 메모리가 부족하여 이미지를 열 수 없거나 이미지가 손상되었습니다 . 컴퓨터를 다시 시작한 후 파일을 다시 여십시오 . 여전히 빨간색 x가 나타나면 이미지를 삭제한 다음 다시 삽입해야 합니다 . 이미지를 표시할 수 없습니다 . 컴퓨터 메모리가 부족하여 이미지를 열 수 없거나 이미지가 손상되었습니다 . 컴퓨터를 다시 시작한 후 파일을 다시 여십시오 . 여전히 빨간색 x가 나타나면 이미지를 삭제한 다음 다시 삽입해야 합니다.

guess == 5 ?

print("Too high") print("Game over!")

참 guess > 5 ?

i t("T l ")

거짓참

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 17

print("Too low")거짓

컴퓨터와 현대기술

알아맞히기 게임 - 출력 정보 개선알아맞히기 게임 출력 정보 개선

print("Welcome!") p ( )

g = input("Guess the number: ")

guess = int(g)guess int(g)

if guess == 5:

print("You win!")print( You win! )

else:

if guess > 5:if guess > 5:

print("Too high")

else:else:

print("Too low")

print("Game over!")

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 18

print( Game over! )

Page 10: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

시험주행시험주행

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 19

컴퓨터와 현대기술

보충 학습 - 변수보충 학습 변수

변수 (variable) 변수 (variable)• 앞 프로그램의 guess와 같이 값을 저장하는 심볼

• 변수 이름 규칙

• 영문자(한글)나 _ 로 시작

• 파이썬의 예약어(keyword)가 아니어야 함.

예: abc a123 name MyName 이름 이름• 예: abc, a123, _name, MyName, 이름, _이름

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 20

Page 11: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

코드 반복 실행 - 루프드 반복 실행 루프

알아맞히기 게임에서 사용자가 올바른 값을 추측할 때까지 알아맞히기 게임에서 사용자가 올바른 값을 추측할 때까지계속 실행하려면?• 코드의 일부분을 반복 실행 필요

루프(loop)는 같은 코드를 계속 반복해서 수행• 루프도 분기와 같이 참이나 거짓 조건(루프 조건)을 판정

• 조건이 참이면 코드 부분(루프 본체)을 반복 실행

answer=

i t(“A

이미지를 표시할 수 없습니다 . 컴퓨터 메모리가 부족하여 이미지를 열 수 없거나 이미지가 손상되었습니다 . 컴퓨터를 다시 시작한 후 파일을 다시 여십시오 . 여전히 빨간색 x가 나타나면 이미지를 삭제한 다음 다시 삽입해야 합니다 .

input(“Are we there?")

answer="no"" "? 참

print("We’re th !")

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 21

answer noanswer="no"? 참

거짓

there!")

컴퓨터와 현대기술

파이썬 while 루프answer = "no" 파이썬 while 루프answer no

while answer == "no":

answer = input("Are we there? ")answer input( Are we there? )

print("We’re there!")

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 22

Page 12: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

알아맞히기 게임 - 코드 반복 실행알아맞히기 게임 드 반복 실행

print("Welcome!")print( Welcome! )

guess = 0

while guess != 5:

g = input("Guess the number: ")

guess = int(g)

if guess == 5:if guess == 5:

print("You win!")

else:

if guess > 5:

print("Too high")

else:

print("Too low")

print("Game over!")

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 23

print( Game over! )

컴퓨터와 현대기술

시험주행시험주행

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 24

Page 13: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

난수 설정난수 설정

알아맞히기 게임에서 정답이 5로 고정되지 않고 1에서 10 사 알아맞히기 게임에서 정답이 5로 고정되지 않고 1에서 10 사이의 임의의 수(random number, 난수)로 설정되려면?

아래 두 라인을 프로그램 위에 추가 아래 두 라인을 프로그램 위에 추가

from random import randint

secret = randint(1 10)• from random import radint

• random 모듈의 randint 라이브러리 함수 참조

secret = randint(1, 10)

• 라이브러리 함수

– 파이썬 시스템에서 미리 작성되어 제공되는 코드, 3장에서 함수 학습

• 모듈모듈

– 라이브러 함수 등이 작성된 파이썬 코드 파일, 6장에서 학습

• randint(1, 10)

1에서 10 사이의 난수 값을 생성하는 함수

1. 처음으로 하는 코딩

• 1에서 10 사이의 난수 값을 생성하는 함수

순천향대학교 컴퓨터공학과 25

컴퓨터와 현대기술

알아맞히기 게임 - 난수 설정알아맞히기 게임 난수 설정

from random import randint

secret = randint(1 10)secret = randint(1, 10)

print("Welcome!")

guess = 0 g

while guess != secret:

g = input("Guess the number: ")

guess = int(g)

if guess == secret:

print("You win!")print( You win! )

else:

if guess > secret:g

print("Too high")

else:

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 26

print("Too low")

print("Game over!")

Page 14: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

시험주행시험주행

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 27

컴퓨터와 현대기술

보충 학습 – 누적 덧셈 예보충 학습 누적 덧셈 예

sum = 1+2+3+ +9+10 계산 프로그램 sum = 1+2+3+ .... +9+10 계산 프로그램

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 28

Page 15: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

프로그래밍 도구상자 (1)프로그래밍 도구상자 (1)

프로그래밍 도구 프로그래밍 도구

• 프로그램은 코드로 만들어짐• 명령은 주어진 일을 수행명령은 주어진 일을 수행

• 분기문은 무엇을 할 지 결정

• 루프는 일을 반복

• 조건문은 어떤 것이 사실인지 거짓인지 결정

• 할당문은 어떤 변수에 값을 지정

• 값은 변수에 저장

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 29

컴퓨터와 현대기술

프로그래밍 도구상자 (2)프로그래밍 도구상자 (2)

파이썬 도구 파이썬 도구• if/else 분기문

• while 루프

• = 할당 연산자

• == 동치 비교 연산자

• != 비동치 비교 연산자

• > 크기 비교 연산자

• print() 화면에 메시지 출력• print() 화면에 메시지 출력

• input() 사용자 입력 받음

• int() 문자를 숫자로 변환

• randint() 난수를 생성

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 30

Page 16: 1. 처음으로하는코딩: 길찾아가기cs.sch.ac.kr/lecture/Python/2015/15-1-Python-Beginning.pdf파이썬(Python) ... • 파이썬인터프리터는소스코드를컴퓨터가이해하는1과0으로

컴퓨터와 현대기술

과제과제

1 “알아맞히기 게임 - 난수 생성”과 작성하여 실행1. 알아맞히기 게임 난수 생성 과 작성하여 실행• 실행 결과 캡쳐

2 누적 덧셈 프로그램 다음과 같이 수정한 프로그램 작성2. 누적 덧셈 프로그램 다음과 같이 수정한 프로그램 작성• 1에서 부터 100까지 홀수만을 누적한 덧셈

• 프로그램 설명

• 프로그램 소스

• 실행 결과

앞에서 배운 내용을 사용한 임의의 램 작성3. 앞에서 배운 내용을 사용한 임의의 프로그램 작성• 프로그램 설명

• 프로그램 소스• 프로그램 소스

• 실행 결과

1. 처음으로 하는 코딩순천향대학교 컴퓨터공학과 31